Re: [PATCH 2/2] mm: do not warn on offline nodes unless the specific node is explicitly requested

From: Michal Hocko
Date: Wed May 23 2018 - 09:12:47 EST


On Wed 23-05-18 19:15:51, Anshuman Khandual wrote:
> On 05/23/2018 06:25 PM, Michal Hocko wrote:
> > when adding memory to a node that is currently offline.
> >
> > The VM_WARN_ON is just too loud without a good reason. In this
> > particular case we are doing
> > alloc_pages_node(node, GFP_KERNEL|__GFP_RETRY_MAYFAIL|__GFP_NOWARN, order)
> >
> > so we do not insist on allocating from the given node (it is more a
> > hint) so we can fall back to any other populated node and moreover we
> > explicitly ask to not warn for the allocation failure.
> >
> > Soften the warning only to cases when somebody asks for the given node
> > explicitly by __GFP_THISNODE.
>
> node hint passed here eventually goes into __alloc_pages_nodemask()
> function which then picks up the applicable zonelist irrespective of
> the GFP flag __GFP_THISNODE.

__GFP_THISNODE should enforce the given node without any fallbacks
unless something has changed recently.

> Though we can go into zones of other
> nodes if the present node (whose zonelist got picked up) does not
> have any memory in it's zones. So warning here might not be without
> any reason.

I am not sure I follow. Are you suggesting a different VM_WARN_ON?
--
Michal Hocko
SUSE Labs