From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932803AbcAYOFX (ORCPT ); Mon, 25 Jan 2016 09:05:23 -0500 Received: from outbound-smtp05.blacknight.com ([81.17.249.38]:33744 "EHLO outbound-smtp05.blacknight.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932358AbcAYOFP (ORCPT ); Mon, 25 Jan 2016 09:05:15 -0500 Date: Mon, 25 Jan 2016 14:05:06 +0000 From: Mel Gorman To: Jan Kara Cc: Andrew Morton , Hugh Dickins , Linux-FSDevel , Linux-MM , LKML Subject: Re: [PATCH 2/2] mm: filemap: Avoid unnecessary calls to lock_page when waiting for IO to complete during a read Message-ID: <20160125140506.GF3162@techsingularity.net> References: <1453716204-20409-1-git-send-email-mgorman@techsingularity.net> <1453716204-20409-3-git-send-email-mgorman@techsingularity.net> <20160125113513.GE20933@quack.suse.cz> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-15 Content-Disposition: inline In-Reply-To: <20160125113513.GE20933@quack.suse.cz> User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Jan 25, 2016 at 12:35:13PM +0100, Jan Kara wrote: > > Reviewed-by: Jan Kara > Thanks! > > --- > > 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