Messages in this thread | | | Date | Sat, 21 Mar 2015 09:51:39 +1100 | From | Dave Chinner <> | Subject | Re: [PATCH] mm: Use GFP_KERNEL allocation for the page cache in page_cache_read |
| |
On Fri, Mar 20, 2015 at 02:14:53PM +0100, Michal Hocko wrote: > On Fri 20-03-15 14:48:20, Dave Chinner wrote: > > On Thu, Mar 19, 2015 at 01:44:41PM +0100, Michal Hocko wrote: > > > > allocations where the caller cannot pass a gfp_mask need to obey > > > > the mapping_gfp_mask that is set by the mapping owner.... > > > > > > Hmm, I thought this is true only when the function might be called from > > > the fs path. > > > > How do you know in, say, mpage_readpages, you aren't being called > > from a fs path that holds locks? e.g. we can get there from ext4 > > doing readdir, so it is holding an i_mutex lock at that point. > > > > Many other paths into mpages_readpages don't hold locks, but there > > are some that do, and those that do need functionals like this to > > obey the mapping_gfp_mask because it is set appropriately for the > > allocation context of the inode that owns the mapping.... > > What about the following? > --- > From 5d905cb291138d61bbab056845d6e53bc4451ec8 Mon Sep 17 00:00:00 2001 > From: Michal Hocko <mhocko@suse.cz> > Date: Thu, 19 Mar 2015 14:56:56 +0100 > Subject: [PATCH 1/2] mm: do not ignore mapping_gfp_mask in page cache > allocation paths
Looks reasonable, though I though there were more places that that in the mapping paths that need to be careful...
Cheers,
Dave. -- Dave Chinner david@fromorbit.com
| |