[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <56a3bdb2-2aa2-2624-b556-5169bf46559c@suse.cz>
Date: Wed, 5 Oct 2016 11:51:27 +0200
From: Vlastimil Babka <vbabka@...e.cz>
To: Michal Hocko <mhocko@...nel.org>
Cc: Andrew Morton <akpm@...ux-foundation.org>,
David Rientjes <rientjes@...gle.com>,
Sellami Abdelkader <abdelkader.sellami@....com>,
linux-mm@...ck.org, LKML <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH] oom: print nodemask in the oom report
On 10/04/2016 05:12 PM, Michal Hocko wrote:
>>
>> Ah, I wasn't clear. What I questioned is the fallback to cpusets for NULL
>> nodemask:
>>
>> nodemask_t *nm = (oc->nodemask) ? oc->nodemask :
>> &cpuset_current_mems_allowed;
>
> Well no nodemask means there is no mempolicy so either all nodes can be
> used or they are restricted by the cpuset. cpuset_current_mems_allowed is
> node_states[N_MEMORY] if there is no cpuset so I believe we are printing
> the correct information. An alternative would be either not print
> anything if there is no nodemask or print node_states[N_MEMORY]
> regardless the cpusets. The first one is quite ugly while the later
> might be confusing I guess.
So I thought it would be useful to distinguish that mempolicy/nodemask
had no restriction (e.g. NULL), vs restriction that happens to be the
very same as cpuset_current_mems_allowed. With your patch we can just
guess, if both are printed as the same sets. But I guess there's not
much value in that and the most important point is that we can determine
the resulting combination (intersection) of both kinds of restrictions
from the report, which indeed we can after your patch.
Thanks,
Vlastimil
Powered by blists - more mailing lists