On Mon, Aug 26, 2024 at 06:51:55PM +0200, Michal Hocko wrote: > On Mon 26-08-24 14:59:29, Matthew Wilcox wrote: > > On Mon, Aug 26, 2024 at 10:47:13AM +0200, Michal Hocko wrote: > > > From: Michal Hocko <mhocko@xxxxxxxx> > > > > > > There is no existing user of the flag and the flag is dangerous because > > > a nested allocation context can use GFP_NOFAIL which could cause > > > unexpected failure. Such a code would be hard to maintain because it > > > could be deeper in the call chain. > > > > > > PF_MEMALLOC_NORECLAIM has been added even when it was pointed out [1] > > > that such a allocation contex is inherently unsafe if the context > > > doesn't fully control all allocations called from this context. > > > > Wouldn't a straight-up revert of eab0af905bfc be cleaner? Or is there > > a reason to keep PF_MEMALLOC_NOWARN? > > I wanted to make it PF_MEMALLOC_NORECLAIM specific. I do not have a > strong case against PF_MEMALLOC_NOWARN TBH. It is a hack because the > scope is claiming something about all allocations within the scope > without necessarily knowing all of them (including potential future > changes). But NOWARN is not really harmful so I do not care strongly. > > If a plan revert is preferably, I will go with it. There aren't any other users of PF_MEMALLOC_NOWARN and it definitely seems like something you want at a callsite rather than blanket for every allocation below this point. We don't seem to have many PF_ flags left, so let's not keep it around if there's no immediate plans for it.