Messages in this thread | | | Date | Tue, 23 Mar 2021 15:49:45 +0100 | From | Peter Zijlstra <> | Subject | Re: [PATCH v2] sched/fair: reduce long-tail newly idle balance cost |
| |
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 <aubrey.li@linux.intel.com> 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 <vincent.guittot@linaro.org>
Thanks!
| |