On 16/11/20 20:04, Aubrey Li wrote: > From: Aubrey Li <[email protected]> > > Add idle cpumask to track idle cpus in sched domain. When a CPU > enters idle, if the idle driver indicates to stop tick, this CPU > is set in the idle cpumask to be a wakeup target. And if the CPU > is not in idle, the CPU is cleared in idle cpumask during scheduler > tick to ratelimit idle cpumask update. > > When a task wakes up to select an idle cpu, scanning idle cpumask > has low cost than scanning all the cpus in last level cache domain, > especially when the system is heavily loaded. > > Benchmarks were tested on a x86 4 socket system with 24 cores per > socket and 2 hyperthreads per core, total 192 CPUs. Hackbench and > schbench have no notable change, uperf has: > > uperf throughput: netperf workload, tcp_nodelay, r/w size = 90 > > threads baseline-avg %std patch-avg %std > 96 1 0.83 1.23 3.27 > 144 1 1.03 1.67 2.67 > 192 1 0.69 1.81 3.59 > 240 1 2.84 1.51 2.67 > > Cc: Mel Gorman <[email protected]> > Cc: Vincent Guittot <[email protected]> > Cc: Qais Yousef <[email protected]> > Cc: Valentin Schneider <[email protected]> > Cc: Jiang Biao <[email protected]> > Cc: Tim Chen <[email protected]> > Signed-off-by: Aubrey Li <[email protected]>
That's missing a v3 -> v4 change summary

