On Wed, Apr 15, 2020 at 09:02:28AM +0200, Michal Hocko wrote: > Hi, > I have just received a bug report about memcg OOM [1]. The underlying > issue is memcg specific but the stack trace made me look at the write(2) > patch and I have noticed that iomap_write_begin enforces AOP_FLAG_NOFS > which means that all the page cache that has to be allocated is > GFP_NOFS. What is the reason for this? Do all filesystems really need > the reclaim protection? I was hoping that those filesystems which really > need NOFS context would be using the scope API > (memalloc_nofs_{save,restore}. This comes from the historic XFS code, and this commit from Dave in particular: commit aea1b9532143218f8599ecedbbd6bfbf812385e1 Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Tue Jul 20 17:54:12 2010 +1000 xfs: use GFP_NOFS for page cache allocation Avoid a lockdep warning by preventing page cache allocation from recursing back into the filesystem during memory reclaim.