[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <0aa69b7b-8955-f495-0026-8c83597a4739@redhat.com>
Date: Thu, 17 Aug 2023 12:45:43 -0400
From: Waiman Long <longman@...hat.com>
To: Gang Li <gang.li@...ux.dev>, Michal Hocko <mhocko@...e.com>
Cc: cgroups@...r.kernel.org, linux-mm@...ck.org, rientjes@...gle.com,
Zefan Li <lizefan.x@...edance.com>,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH v4] mm: oom: introduce cpuset oom
On 8/17/23 04:40, Gang Li wrote:
>
> Since __GFP_HARDWALL is set as long as cpuset is enabled, I think we can
> use it to determine if we are under the constraint of CPUSET.
>
> But I have a question: Why we always set __GFP_HARDWALL when cpuset is
> enabled, regardless of the value of cpuset.mem_hardwall?
There is no direct dependency between cpuset.mem_hardwall and the
__GFP_HARDWALL flag. When cpuset is enabled, all user memory allocation
should be subjected to the cpuset memory constraint. In the case of
non-user memory allocation, it can fall back to to the node mask of an
ancestor up to the root cgroup, i.e. all memory nodes.
cpuset.mem_hardwall enables a barrier to this upward search.
Note that cpuset.mem_hardwall is a v1 feature that is not available in
cgroup v2.
Cheers,
Longman
Powered by blists - more mailing lists