Messages in this thread | | | Subject | Re: [PATCH v2] sched: let __sched_period() use rq's nr_running | From | Mike Galbraith <> | Date | Mon, 13 Jul 2015 14:30:38 +0200 |
| |
On Mon, 2015-07-13 at 20:07 +0900, Byungchul Park wrote:
> i still think stretching with local cfs's nr_running should be replaced with > stretching with a top(=root) level one.
I think we just can't take 'slice' _too_ seriously. Not only is it annoying with cgroups, the scheduler simply doesn't deliver 'slices' in the traditional sense, it equalizes vruntimes, planning to do that at slice granularity. FAIR_SLEEPERS doesn't make that planning any easier. With a pure compute load and no HR_TICK, what you get is tick granularity preemption checkpoints, but having just chewed up a 'slice' means nothing if you're still leftmost. It's all about vruntime, so leftmost can have back to back 'slices'. FAIR_SLEEPERS just increases the odds that leftmost WILL take more than one 'slice'.
(we could perhaps decay deficit after a full slice or such to decrease the spread growth that sleepers induce. annoying problem, especially so with a gaggle of identical sleepers, as sleep time becomes meaningless, there is no differential to equalize.. other than the ones we create.. but I'm digressing, a lot, time to stop thinking/typing, go do work;)
-Mike
| |