On Sun, 27 Nov 2016, Michael van Elst wrote:
I've made a new patch: http://ftp.netbsd.org/pub/NetBSD/misc/mlelstv/kern_runq.diff
FWIW, I've made a test run with two CPUs, and with my original test case of two concurrent CPU-hogs, this works fine (just like the previous tests).
-> it uses 8 guard bits (multiply by 256 instead of 2). -> it lets you configure the moving average factor in percent (default is 50% like now) with a sysctl.
I tried playing with these, but I didn't see a difference. I didn't fully get the meaning of this - as far as I understand, one extreme (1? 99?) gives much weight to the previous value and avoids switching short-handedly, the other one puts weight on newly occurring processes on a cpu and favors switching. But I'm not sure which is which, and if this is true at all. Yet another magic knob for our scheduler ;)
Where to go from here? - Hubert