From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752789AbcHMRIA (ORCPT ); Sat, 13 Aug 2016 13:08:00 -0400 Received: from mx1.redhat.com ([209.132.183.28]:45888 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752514AbcHMRH7 (ORCPT ); Sat, 13 Aug 2016 13:07:59 -0400 Date: Sat, 13 Aug 2016 19:07:45 +0200 From: Oleg Nesterov To: Bart Van Assche Cc: Peter Zijlstra , "mingo@kernel.org" , Andrew Morton , Johannes Weiner , Neil Brown , Michael Shaver , "linux-kernel@vger.kernel.org" Subject: Re: [PATCH] sched: Avoid that __wait_on_bit_lock() hangs Message-ID: <20160813170744.GA2868@redhat.com> References: <4091e252-18d9-1795-de63-9fbc678aa6b1@acm.org> <20160808162038.GA25927@redhat.com> <78fafdc1-d4ae-a9a2-169c-1d456b6e6e41@sandisk.com> <20160809171459.GA13840@redhat.com> <3cec7657-caa9-92ca-9f0e-34f073a6ed8c@sandisk.com> <20160810104555.GA3333@redhat.com> <4d2e02f8-c7da-ee1a-1068-25492cbffebe@sandisk.com> <20160811173651.GA31803@redhat.com> <20160812161611.GC30930@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.18 (2008-05-17) X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.38]); Sat, 13 Aug 2016 17:07:58 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Forgot to mention... On 08/12, Bart Van Assche wrote: > > --- a/mm/filemap.c > +++ b/mm/filemap.c > @@ -1643,7 +1643,12 @@ find_page: > * wait_on_page_locked is used to avoid unnecessarily > * serialisations and why it's safe. > */ > - wait_on_page_locked_killable(page); > + error = wait_on_page_locked_killable(page); > + if (error == -EINTR) { > + put_page(page); > + goto out; > + } > + error = 0; This change probably makes sense regardless although I'd suggest to simplify it: - wait_on_page_locked_killable(page); + error = wait_on_page_locked_killable(page); + if (unlikely(error)) + goto readpage_error; but it looks off-topic. And the changelog looks misleading/wrong. I do not think this change makes sense in this debugging session, Oleg.