Messages in this thread | | | Date | Mon, 14 Mar 2022 16:36:53 +0530 | From | Srikar Dronamraju <> | Subject | Re: [PATCH v6] sched/fair: Consider cpu affinity when allowing NUMA imbalance in find_idlest_group |
| |
* K Prateek Nayak <kprateek.nayak@amd.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
| |