Messages in this thread | | | Date | Mon, 1 Jul 2019 15:43:43 +0200 | From | Peter Zijlstra <> | Subject | Re: [PATCH V3 0/2] sched/fair: Fallback to sched-idle CPU in absence of idle CPUs |
| |
On Wed, Jun 26, 2019 at 10:36:28AM +0530, Viresh Kumar wrote: > Hi, > > We try to find an idle CPU to run the next task, but in case we don't > find an idle CPU it is better to pick a CPU which will run the task the > soonest, for performance reason. > > A CPU which isn't idle but has only SCHED_IDLE activity queued on it > should be a good target based on this criteria as any normal fair task > will most likely preempt the currently running SCHED_IDLE task > immediately. In fact, choosing a SCHED_IDLE CPU over a fully idle one > shall give better results as it should be able to run the task sooner > than an idle CPU (which requires to be woken up from an idle state). > > This patchset updates both fast and slow paths with this optimization.
So this basically does the trivial SCHED_IDLE<-* wakeup preemption test; one could consider doing the full wakeup preemption test instead.
Now; the obvious argument against doing this is cost; esp. the cgroup case is very expensive I suppose. But it might be a fun experiment to try.
That said; I'm tempted to apply these patches..
| |