Messages in this thread | | | Date | Fri, 17 Apr 2020 00:29:31 -0700 | From | Christoph Hellwig <> | Subject | Re: implicit AOP_FLAG_NOFS for grab_cache_page_write_begin |
| |
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@redhat.com> 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.
| |