On Tue, Mar 23, 2021 at 02:44:57PM +0100, Vincent Guittot wrote: > Hi Aurey, > > On Tue, 16 Mar 2021 at 05:27, Li, Aubrey <[email protected]> wrote: > > > > On 2021/2/24 16:15, Aubrey Li wrote: > > > A long-tail load balance cost is observed on the newly idle path, > > > this is caused by a race window between the first nr_running check > > > of the busiest runqueue and its nr_running recheck in detach_tasks. > > > > > > Before the busiest runqueue is locked, the tasks on the busiest > > > runqueue could be pulled by other CPUs and nr_running of the busiest > > > runqueu becomes 1 or even 0 if the running task becomes idle, this > > > causes detach_tasks breaks with LBF_ALL_PINNED flag set, and triggers > > > load_balance redo at the same sched_domain level. > > > > > > In order to find the new busiest sched_group and CPU, load balance will > > > recompute and update the various load statistics, which eventually leads > > > to the long-tail load balance cost. > > > > > > This patch clears LBF_ALL_PINNED flag for this race condition, and hence > > > reduces the long-tail cost of newly idle balance. > > > > Ping... > > Reviewed-by: Vincent Guittot <[email protected]>
Thanks!

