From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933088AbcE3K5u (ORCPT ); Mon, 30 May 2016 06:57:50 -0400 Received: from outbound-smtp06.blacknight.com ([81.17.249.39]:35018 "EHLO outbound-smtp06.blacknight.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932192AbcE3K5t (ORCPT ); Mon, 30 May 2016 06:57:49 -0400 Date: Mon, 30 May 2016 11:57:45 +0100 From: Mel Gorman To: Vlastimil Babka Cc: Andrew Morton , Naoya Horiguchi , Linux-MM , LKML Subject: Re: [PATCH] mm, page_alloc: prevent infinite loop in buffered_rmqueue() Message-ID: <20160530105745.GO2527@techsingularity.net> References: <20160530090154.GM2527@techsingularity.net> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-15 Content-Disposition: inline In-Reply-To: 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, May 30, 2016 at 11:46:05AM +0200, Vlastimil Babka wrote: > On 05/30/2016 11:01 AM, Mel Gorman wrote: > >From: Vlastimil Babka > > > >In DEBUG_VM kernel, we can hit infinite loop for order == 0 in > >buffered_rmqueue() when check_new_pcp() returns 1, because the bad page is > >never removed from the pcp list. Fix this by removing the page before retrying. > >Also we don't need to check if page is non-NULL, because we simply grab it from > >the list which was just tested for being non-empty. > > > >Fixes: http://www.ozlabs.org/~akpm/mmotm/broken-out/mm-page_alloc-defer-debugging-checks-of-freed-pages-until-a-pcp-drain.patch > > That was a wrong one, which I corrected later. Also it's no longer mmotm. > Correction below: > > Fixes: 479f854a207c ("mm, page_alloc: defer debugging checks of pages > allocated from the PCP") > Yes sorry, I meant to clean it up but had just re-read the patch itself, confirmed it was missing and was still required. -- Mel Gorman SUSE Labs