linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC 0/2] mapping_gfp_mask from the page fault path
@ 2015-06-01 13:00 Michal Hocko
  2015-06-01 13:00 ` [RFC 1/2] mm: do not ignore mapping_gfp_mask in page cache allocation paths Michal Hocko
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Michal Hocko @ 2015-06-01 13:00 UTC (permalink / raw)
  To: linux-mm
  Cc: Andrew Morton, Dave Chinner, Neil Brown, Johannes Weiner, Al Viro,
	Mel Gorman, Rik van Riel, Tetsuo Handa, LKML, linux-fsdevel

Hi,
I somehow forgot about these patches. The previous version was
posted here: http://marc.info/?l=linux-mm&m=142668784122763&w=2. The
first attempt was broken but even when fixed it seems like ignoring
mapping_gfp_mask in page_cache_read is too fragile because
filesystems might use locks in their filemap_fault handlers
which could trigger recursion problems as pointed out by Dave
http://marc.info/?l=linux-mm&m=142682332032293&w=2.

The first patch should be straightforward fix to obey mapping_gfp_mask
when allocating for mapping. It can be applied even without the second
one.

The second patch is an attempt to handle mapping_gfp_mask from the
page fault path properly. GFP_IOFS should be safe from he page fault
path in general (we would be quite broken otherwise because there
are places where GFP_KERNEL is used - e.g. pte allocation). MM will
communicate this to the fs layer via struct vm_fault::gfp_mask.
If fs needs to change this allocation context in a fs callback it can
overwrite this mask. If the code flow gets back to MM we will obey this
gfp_mask (e.g. in page_cache_read). This should be more appropriate than
following mapping_gfp_mask blindly. See the patch description for more
details.

I am still not sure this is the right way to go so I am sending this as
an RFC so any comments are highly appreciated.

Thanks!


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

end of thread, other threads:[~2015-07-08 11:58 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-06-01 13:00 [RFC 0/2] mapping_gfp_mask from the page fault path Michal Hocko
2015-06-01 13:00 ` [RFC 1/2] mm: do not ignore mapping_gfp_mask in page cache allocation paths Michal Hocko
2015-06-01 13:00 ` [RFC 2/2] mm: Allow GFP_IOFS for page_cache_read page cache allocation Michal Hocko
2015-07-08 11:58   ` Michal Hocko
2015-06-02 20:22 ` [RFC 0/2] mapping_gfp_mask from the page fault path Andrew Morton
2015-06-03 13:04   ` Tetsuo Handa
2015-06-03 13:42     ` Michal Hocko
2015-06-03 13:28   ` Michal Hocko

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).