[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <a89de82d-41e7-a40f-a5a3-83ad62bf383f@redhat.com>
Date: Wed, 23 Nov 2022 14:05:59 -0500
From: Waiman Long <longman@...hat.com>
To: Tejun Heo <tj@...nel.org>
Cc: "haifeng.xu" <haifeng.xu@...pee.com>, lizefan.x@...edance.com,
hannes@...xchg.org, cgroups@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH] cgroup/cpuset: Optimize update_tasks_nodemask()
On 11/23/22 13:54, Tejun Heo wrote:
> On Wed, Nov 23, 2022 at 01:48:46PM -0500, Waiman Long wrote:
>> I think it is an issue anyway if different threads of a process are in
>> different cpusets with different node mask. It is not a configuration that
>> should be used at all.
> Anything memory related is in the same boat and people still use them
> reaching whatever end results they reach. Given the whole thing is pretty
> ill-defined, I don't wanna change the behavior now.
I am just saying that this is not a good config. I don't have any
intention to change the existing behavior at all.
>
>> This patch makes update_tasks_nodemask() somewhat similar to cpuset_attach()
>> where all tasks are iterated to update the node mask but only the task
>> leaders are required to update the mm. For a non-group leader task, maybe we
>> can check if the group leader is in the same cpuset. If so, we can skip the
>> mm update. Do we need similar change in cpuset_attach()?
> The leader isn't special tho. We just wanna avoid visiting the same mm more
> than once, right?
Right, the group leader is just a marker to make it easier to avoid
duplicating the work for the same mm. If the group leader happens to be
in another cpuset, it will suffer some performance consequence.
Cheers,
Longman
Powered by blists - more mailing lists