Message ID | 20200225214838.30017-15-willy@infradead.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Change readahead API | expand |
On Tue, Feb 25, 2020 at 01:48:27PM -0800, Matthew Wilcox wrote: > From: "Matthew Wilcox (Oracle)" <willy@infradead.org> > > If the page is already in cache, we don't set PageReadahead on it. > > Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org> Looks good, Reviewed-by: Christoph Hellwig <hch@lst.de>
diff --git a/mm/readahead.c b/mm/readahead.c index 8ee9036fd681..0afb55a49909 100644 --- a/mm/readahead.c +++ b/mm/readahead.c @@ -195,9 +195,12 @@ void page_cache_readahead_unbounded(struct address_space *mapping, if (page && !xa_is_value(page)) { /* - * Page already present? Kick off the current batch of - * contiguous pages before continuing with the next - * batch. + * Page already present? Kick off the current batch + * of contiguous pages before continuing with the + * next batch. This page may be the one we would + * have intended to mark as Readahead, but we don't + * have a stable reference to this page, and it's + * not worth getting one just for that. */ read_pages(&rac, &page_pool, true); continue;