Re: [RESEND RFC PATCH V3] sched: Improve scalability of select_idle_sibling using SMT balance

From: Peter Zijlstra
Date: Fri Feb 02 2018 - 12:30:52 EST


On Fri, Feb 02, 2018 at 11:53:40AM -0500, Steven Sistare wrote:
> It might be interesting to add a tunable for the number of random choices to
> make, and clamp it at the max nr computed from avg_cost in select_idle_cpu.

This needs a fairly complicated PRNG for it would need to visit each
possible CPU once before looping. A LFSR does that, but requires 2^n-1
elements and we have topology masks that don't match that.. The trivial
example is something with 6 cores.

> Or, choose a random starting point and then search for nr sequential
> candidates; possibly limited by a tunable.

And this is basically what we already do. Except with the task-cpu
instead of a per-cpu rotor.