Re: [PATCH] mm, page_alloc: actually ignore mempolicies for high priority allocations

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat 18-08-18 22:02:14, Tetsuo Handa wrote:
> On 2018/08/16 19:03, Michal Hocko wrote:
> > The code is quite subtle and we have a bad history of copying stuff
> > without rethinking whether the code still is needed. Which is sad and a
> > clear sign that the code is too complex. I cannot say this change
> > doesn't have any subtle side effects but it makes the intention clear at
> > least so I _think_ it is good to go. If we find some unintended side
> > effects we should simply rethink the whole reset zonelist thing.
> 
> Does this change affect
> 
>         /*
>          * This is not a __GFP_THISNODE allocation, so a truncated nodemask in
>          * the page allocator means a mempolicy is in effect.  Cpuset policy
>          * is enforced in get_page_from_freelist().
>          */
>         if (oc->nodemask &&
>             !nodes_subset(node_states[N_MEMORY], *oc->nodemask)) {
>                 oc->totalpages = total_swap_pages;
>                 for_each_node_mask(nid, *oc->nodemask)
>                         oc->totalpages += node_spanned_pages(nid);
>                 return CONSTRAINT_MEMORY_POLICY;
>         }
> 
> in constrained_alloc() called from
> 
>         /*
>          * Check if there were limitations on the allocation (only relevant for
>          * NUMA and memcg) that may require different handling.
>          */
>         constraint = constrained_alloc(oc);
>         if (constraint != CONSTRAINT_MEMORY_POLICY)
>                 oc->nodemask = NULL;
> 
> in out_of_memory() ?

No practical difference AFAICS. We are losing the nodemask for oom
victims but their mere existance should make oom decisions void
and so the constrain shouldn't really matter.
-- 
Michal Hocko
SUSE Labs




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux