Removing GFP_NOFS

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Do we have a strategy for eliminating GFP_NOFS?

As I understand it, our intent is to mark the areas in individual
filesystems that can't be reentered with memalloc_nofs_save()/restore()
pairs.  Once they're all done, then we can replace all the GFP_NOFS
users with GFP_KERNEL.

How will we know when we're done and can kill GFP_NOFS?  I was thinking
that we could put a warning in slab/page_alloc that fires when __GFP_IO
is set, __GFP_FS is clear and PF_MEMALLOC_NOFS is clear.  That would
catch every place that uses GFP_NOFS without using memalloc_nofs_save().

Unfortunately (and this is sort of the point), there's a lot of places
which use GFP_NOFS as a precaution; that is, they can be called from
places which both are and aren't in a nofs path.  So we'd have to pass
in GFP flags.  Which would be a lot of stupid churn.

I don't have a good solution here.  Maybe this is a good discussion
topic for LSFMM, or maybe there's already a good solution I'm overlooking.



[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]

  Powered by Linux