Received: by 2002:a05:6a10:f3d0:0:0:0:0 with SMTP id a16csp3616232pxv; Mon, 28 Jun 2021 08:40:14 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyeQ6rX2dWsvkIntXY+jp9Ex7DM0AHZTAgEjkOok6Knhb2vpNRfYXlvZMzn6fIE70iLwl/B X-Received: by 2002:aa7:c857:: with SMTP id g23mr33003651edt.100.1624894814558; Mon, 28 Jun 2021 08:40:14 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1624894814; cv=none; d=google.com; s=arc-20160816; b=JMGayA7DN5uTUHH9eczSng4RxG2BsP8dvfw7CGrweN3Tb5oYKTFp+bHugUEcqTIcR6 cGuhht6S/HBJUcGg18/WBCCmM0gWNB5MJkuA2URqKQKYB9ZqxBT/MzDby3zBCovMmQXe VfK+oMPEOW25AnIMSJQKjC7ZAVd3fLk6g01TYI9AnN/+rwnOGCuYqBEvsn8tsmW90f9k semBHbyK7n62IbkvTSHCEu4rzf9ANq+rTRXScom+pZQzxRNZ+HXC4KBMpyDebHcgN+jR srSPTt9lxSNkkPPo5s/PHTV0OJ5U1Lwl3Ac4zfwcDgok9oB+lZptkFY0KVNRkcIfwI/e Lh2Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:user-agent:in-reply-to:content-disposition :mime-version:references:mail-followup-to:message-id:subject:cc:to :from:date; bh=jpshZvJgD1tEdkp68ackYcmXw3m1X+stu/6SpbytRTw=; b=xiXhyRUPpafY8eh1lO/kS+DKi/W8wuhVUWdrk418wi03pVt/MceWTbKn3baO1yzWBR hNYGeJWCcsH2flAC4fPyewmIXSUsB9zHQIf3/17JY2RO9HLwFyjfM4NZN3+eFIpzmlrp LUcySqwk5zUMtuTYdt9oK1Q82O1+0dG67AqprIQdy3optVYPXrGoIGC4Tlmgx/CsmxNu fxn79v27FXbfZij6BAk68RJ4n7LWjT6UJAarvYQDZ4DiYd7OzE3Omr/BjN4HpnmBCHKe D64KL3d6jrctPvaTbdJO0Z6lTbsSI0kQWUo4pkfWeNd5ncC30Qfrn1LgWtFJXc+mkWv9 Muqw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id kq6si66844ejb.725.2021.06.28.08.39.50; Mon, 28 Jun 2021 08:40:14 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234195AbhF1PlF (ORCPT + 99 others); Mon, 28 Jun 2021 11:41:05 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50704 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237174AbhF1PjU (ORCPT ); Mon, 28 Jun 2021 11:39:20 -0400 Received: from scorn.kernelslacker.org (scorn.kernelslacker.org [IPv6:2600:3c03:e000:2fb::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3969FC061D7C for ; Mon, 28 Jun 2021 07:48:13 -0700 (PDT) Received: from [2601:196:4600:6634:ae9e:17ff:feb7:72ca] (helo=wopr.kernelslacker.org) by scorn.kernelslacker.org with esmtp (Exim 4.92) (envelope-from ) id 1lxsYQ-0000KC-9i; Mon, 28 Jun 2021 10:48:06 -0400 Received: by wopr.kernelslacker.org (Postfix, from userid 1026) id D320F560148; Mon, 28 Jun 2021 10:48:05 -0400 (EDT) Date: Mon, 28 Jun 2021 10:48:05 -0400 From: Dave Jones To: Mel Gorman Cc: Andrew Morton , Dan Carpenter , Jesper Dangaard Brouer , Vlastimil Babka , Linux-MM , LKML , Linus Torvalds Subject: Re: [PATCH] mm/page_alloc: do bulk array bounds check after checking populated elements Message-ID: <20210628144805.GA3687@codemonkey.org.uk> Mail-Followup-To: Dave Jones , Mel Gorman , Andrew Morton , Dan Carpenter , Jesper Dangaard Brouer , Vlastimil Babka , Linux-MM , LKML , Linus Torvalds References: <20210618125102.GU30378@techsingularity.net> <20210628042759.GA19686@codemonkey.org.uk> <20210628115322.GA3840@techsingularity.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20210628115322.GA3840@techsingularity.net> User-Agent: Mutt/1.10.1 (2018-07-13) X-Spam-Note: SpamAssassin invocation failed Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Jun 28, 2021 at 12:53:23PM +0100, Mel Gorman wrote: > > This made it into 5.13 final, and completely breaks NFSD for me (Serving tcp v3 mounts). > > Existing mounts on clients hang, as do new mounts from new clients. > > Rebooting the server back to rc7 everything recovers. Bisect lands on > > this commit. > > diff --git a/mm/page_alloc.c b/mm/page_alloc.c > index ef2265f86b91..04220581579c 100644 > --- a/mm/page_alloc.c > +++ b/mm/page_alloc.c > @@ -5058,7 +5058,7 @@ unsigned long __alloc_pages_bulk(gfp_t gfp, int preferred_nid, > > /* Already populated array? */ > if (unlikely(page_array && nr_pages - nr_populated == 0)) > - return 0; > + return nr_populated; Yep, this works. Dave