Messages in this thread | | | Date | Tue, 31 Oct 2017 09:20:09 +0100 | From | Peter Zijlstra <> | Subject | Re: [PATCH RFC 1/2] sched: Minimize the idle cpu selection race window. |
| |
On Tue, Oct 31, 2017 at 12:27:41AM -0500, Atish Patra wrote: > Currently, multiple tasks can wakeup on same cpu from > select_idle_sibiling() path in case they wakeup simulatenously > and last ran on the same llc. This happens because an idle cpu > is not updated until idle task is scheduled out. Any task waking > during that period may potentially select that cpu for a wakeup > candidate. > > Introduce a per cpu variable that is set as soon as a cpu is > selected for wakeup for any task. This prevents from other tasks > to select the same cpu again. Note: This does not close the race > window but minimizes it to accessing the per-cpu variable. If two > wakee tasks access the per cpu variable at the same time, they may > select the same cpu again. But it minimizes the race window > considerably.
The very most important question; does it actually help? What benchmarks, give what numbers?
| |