[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20220314110653.GM618915@linux.vnet.ibm.com>
Date: Mon, 14 Mar 2022 16:36:53 +0530
From: Srikar Dronamraju <srikar@...ux.vnet.ibm.com>
To: K Prateek Nayak <kprateek.nayak@....com>
Cc: peterz@...radead.org, aubrey.li@...ux.intel.com, efault@....de,
gautham.shenoy@....com, linux-kernel@...r.kernel.org,
mgorman@...hsingularity.net, mingo@...nel.org,
song.bao.hua@...ilicon.com, valentin.schneider@....com,
vincent.guittot@...aro.org
Subject: Re: [PATCH v6] sched/fair: Consider cpu affinity when allowing NUMA
imbalance in find_idlest_group
* K Prateek Nayak <kprateek.nayak@....com> [2022-03-09 17:00:33]:
> Hello Srikar,
>
> On 3/9/2022 3:13 PM, Srikar Dronamraju wrote:
> > [..snip..]
> > I completely understand your problem. The only missing piece is why is this
> > initial placement *not a problem for the unpinned case*. If we are able to
> > articulate how the current code works well for the unpinned case, I would
> > be fine.
> From what I understand, the initial task placement happens as follows:
>
> When a new task is created via fork or exec, for the initial wakeup
> it takes the slow path in select_task_rq_fair() and goes to
> find_idlest_cpu(). find_idlest_cpu() will explore the sched domain
> hierarchy in a top-down fashion to find the idlest cpu for task to
> run on.
>
> During this, it'll call find_idlest_group() to get the idlest group
> within a particular domain to search for the target cpu. In our case,
> the local group will have spare capacity to accommodate tasks.
> We only do a cpumask_test_cpu(this_cpu, sched_group_span(group))
> to check is the task can run on a particular group.
>
[snip]
Ok, Prateek, I do understand the intent here.
Thanks for spending the time to explain the same.
> Ah! I see. But I do believe this problem of initial
> placement lies along the wakeup path.
> --
> Thanks and Regards,
> Prateek
--
Thanks and Regards
Srikar Dronamraju
Powered by blists - more mailing lists