On Tue, Jun 01, 2021 at 10:19:25AM +0200, Michal Hocko wrote: > On Mon 31-05-21 22:05:54, Feng Tang wrote: > > mempolicy_nodemask_intersects() is used in oom case to check if a > > task may have memory allocated on some memory nodes. > > > > As it's only used by OOM check, rename it to mempolicy_in_oom_domain() > > to reduce confusion. > > > > As only for 'bind' policy, the nodemask is a force requirement for > > from where to allocate memory, only do the intesection check for it, > > and return true for all other policies. > > I would slightly rephrase the above to > " > mempolicy_nodemask_intersects seem to be a general purpose mempolicy > function. In fact it is partially tailored for the OOM purpose instead. > The oom proper is the only existing user so rename the function to make > that purpose explicit. > > While at it drop the MPOL_INTERLEAVE as those allocations never has a > nodemask defined (see alloc_page_interleave) so this is a dead code > and a confusing one because MPOL_INTERLEAVE is a hint rather than a hard > requirement so it shouldn't be considered during the OOM. > > The final code can be reduced to a check for MPOL_BIND which is the only > memory policy that is a hard requirement and thus relevant to a > constrained OOM logic. > " This is much clearer, thanks! Will change this and the descrition in over-letter. > > Suggested-by: Michal Hocko <mhocko@xxxxxxxx> > > Signed-off-by: Feng Tang <feng.tang@xxxxxxxxx> > > To the change itself > Acked-by: Michal Hocko <mhocko@xxxxxxxx> Thanks! - Feng