On Wed, Jun 24, 2020 at 09:35:19AM -0600, Jens Axboe wrote: > On 6/24/20 9:00 AM, Jens Axboe wrote: > > On 6/23/20 7:46 PM, Matthew Wilcox wrote: > >> I'd be quite happy to add a gfp_t to struct readahead_control. > >> The other thing I've been looking into for other reasons is adding > >> a memalloc_nowait_{save,restore}, which would avoid passing down > >> the gfp_t. > > > > That was my first thought, having the memalloc_foo_save/restore for > > this. I don't think adding a gfp_t to readahead_control is going > > to be super useful, seems like the kind of thing that should be > > non-blocking by default. > > We're already doing memalloc_nofs_save/restore in > page_cache_readahead_unbounded(), so I think all we need is to just do a > noio dance in generic_file_buffered_read() and that should be enough. I think we can still sleep though, right? I was thinking more like this: http://git.infradead.org/users/willy/linux.git/shortlog/refs/heads/memalloc