Messages in this thread | | | Subject | Re: [PATCH] sched: Buggy comparison in check_preempt_tick | From | Mike Galbraith <> | Date | Tue, 28 Dec 2010 06:48:13 +0100 |
| |
On Sun, 2010-12-26 at 08:23 +0100, Mike Galbraith wrote:
> But anyway.. > > echo NO_WAKEUP_PREEMPT > sched_features > echo NO_TESTME > sched_features > two hogs running on isolcpu 3, pid 6890 at nice -2 > > while sleep 1; do grep 'pert.*6890' /proc/sched_debug; done > > runnable tasks: > task PID tree-key switches prio > ------------------------------------------------------- > R pert 6890 50201.071851 7453 118 > R pert 6890 50596.171290 7513 118 +60 > R pert 6890 50991.265264 7572 118 +59 > R pert 6890 51383.781965 7631 118 +59 > pert 6890 51781.463129 7691 118 +60 > > echo TESTME > sched_features > pert 6890 126881.306733 18977 118 > R pert 6890 127273.825719 19036 118 +59 > R pert 6890 127668.928218 19095 118 +59 > R pert 6890 128064.031372 19154 118 +59 > R pert 6890 128459.134339 19213 118 +59 > > ...with a compute load, the thing should be a noop, and appears to be so > (with busted compare fixed anyway;). You have to be well overloaded for > buddies to kick in these days, so it's probably pretty hard to get > enough spread for the thing to fire.
I did a bit more testing yesterday with wakeup loads. There's enough spread for the test to nudge things a few [0..4] times per second/core.
I'd either fix the comparison, and let it keep on nudging once in a while, or whack the whole thing.
-Mike
| |