On Mon, Nov 02, 2020 at 11:24:57AM +0100, Vincent Guittot wrote:
> schbench shows latency increase for 95 percentile above since:
>   commit 0b0695f2b34a ("sched/fair: Rework load_balance()")
> 
> Align the behavior of the load balancer with the wake up path, which tries
> to select an idle CPU which belongs to the LLC for a waking task.
> 
> calculate_imbalance() will use nr_running instead of the spare
> capacity when CPUs share resources (ie cache) at the domain level. This
> will ensure a better spread of tasks on idle CPUs.
> 
> Running schbench on a hikey (8cores arm64) shows the problem:
> 
> tip/sched/core :
> schbench -m 2 -t 4 -s 10000 -c 1000000 -r 10
> Latency percentiles (usec)
>       50.0th: 33
>       75.0th: 45
>       90.0th: 51
>       95.0th: 4152
>       *99.0th: 14288
>       99.5th: 14288
>       99.9th: 14288
>       min=0, max=14276
> 
> tip/sched/core + patch :
> schbench -m 2 -t 4 -s 10000 -c 1000000 -r 10
> Latency percentiles (usec)
>       50.0th: 34
>       75.0th: 47
>       90.0th: 52
>       95.0th: 78
>       *99.0th: 94
>       99.5th: 94
>       99.9th: 94
>       min=0, max=94
> 
> Fixes: 0b0695f2b34a ("sched/fair: Rework load_balance()")
> Reported-by: Chris Mason <c...@fb.com>
> Suggested-by: Rik van Riel <r...@surriel.com>
> Signed-off-by: Vincent Guittot <vincent.guit...@linaro.org>

Thanks!

Reply via email to