All of lore.kernel.org
 help / color / mirror / Atom feed
* Removing GFP_NOFS
@ 2018-03-08 23:46 Matthew Wilcox
  2018-03-09  1:35 ` Dave Chinner
  0 siblings, 1 reply; 8+ messages in thread
From: Matthew Wilcox @ 2018-03-08 23:46 UTC (permalink / raw)
  To: linux-mm, linux-fsdevel


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.

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2018-03-10  2:44 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-03-08 23:46 Removing GFP_NOFS Matthew Wilcox
2018-03-09  1:35 ` Dave Chinner
2018-03-09  4:06   ` Dave Chinner
2018-03-09 11:14     ` Tetsuo Handa
2018-03-09 11:14       ` Tetsuo Handa
2018-03-09 14:48     ` Goldwyn Rodrigues
2018-03-09 22:38       ` Dave Chinner
2018-03-10  2:44         ` Tetsuo Handa

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.