On Tue 26-04-22 03:26:12, Kent Overstreet wrote: [...] > Anyways, the reason I think this allocation is fine is it's GFP_NOWAIT and it's > completely fine if it fails - all we lose is some diagnostics, and also it's > released right away. I think you are still missing the PF_MEMALLOC point. Please have a look how this leads to no reclaim recursion so GFP_NOWAIT has no meaning when you are allocating from PF_MEMALLOC context (which the oom killer and any reclaim path is). Also have a look at how __gfp_pfmemalloc_flags makes the allocation request from that context ALLOC_NO_WATERMARKS. See? -- Michal Hocko SUSE Labs