Re: [PATCH] oom: print nodemask in the oom report
From: Vlastimil Babka
Date: Wed Oct 05 2016 - 05:51:33 EST
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