Re: [PATCH 2/2] mm: filemap: Avoid unnecessary calls to lock_page when waiting for IO to complete during a read
From: Mel Gorman <hidden>
Date: 2016-01-25 14:05:06
Also in:
linux-fsdevel, lkml
From: Mel Gorman <hidden>
Date: 2016-01-25 14:05:06
Also in:
linux-fsdevel, lkml
On Mon, Jan 25, 2016 at 12:35:13PM +0100, Jan Kara wrote:
Reviewed-by: Jan Kara <jack@suse.cz>
Thanks!
quoted
--- mm/filemap.c | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+)diff --git a/mm/filemap.c b/mm/filemap.c index aa38593d0cd5..235ee2b0b5da 100644 --- a/mm/filemap.c +++ b/mm/filemap.c@@ -1649,6 +1649,15 @@ static ssize_t do_generic_file_read(struct file *filp, loff_t *ppos, index, last_index - index); } if (!PageUptodate(page)) { + /* + * See comment in do_read_cache_page on why + * wait_on_page_locked is used to avoid unnecessarily + * serialisations and why it's safe. + */ + wait_on_page_locked(page); + if (PageUptodate(page)) + goto page_ok; +We want a wait_on_page_locked_killable() here to match the lock_page_killable() later in do_generic_file_read()?
Yes, I'll fix it in v2. -- Mel Gorman SUSE Labs -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>