Received: by 2002:a25:868d:0:0:0:0:0 with SMTP id z13csp1477524ybk; Sun, 10 May 2020 18:23:28 -0700 (PDT) X-Google-Smtp-Source: APiQypJqkU7mt0kwDOVTYzryLfJgpl/1x9FEpv33BBjDe2/RiKE0pkBrhKCdPd8Evr39EB+/TKKo X-Received: by 2002:a05:6402:154e:: with SMTP id p14mr10925009edx.326.1589160208132; Sun, 10 May 2020 18:23:28 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1589160208; cv=none; d=google.com; s=arc-20160816; b=ilc3cKZfp8d/fiMXDmMgmtf63owfwVP9UHaOD4M+wyiXe5aeBKCW5ggUvlMIDS1xVo sURqIASezJMpBRBw8QjprZaYBpSTmpfwad+ADDRuPJp1Xle1lHm9BiJjPm68bWphHu0M pvZNgClO3IDCYoMBS6MLDlJnmE1flnECqMsG3hMUJ9HZChrjgNLRYzGvUoFfqF9wL30c FrPJPv8wDqNnC1oDycR5ZUujnc81YM+aAzkHlm/F7UQZsk5QYVDskv8qwESwEav2NkZm LtrlviV9womPX5b00sMH3yAnIhniNDKCclcc4Ka1VQdI3Ej/pw/zK60wlK0/wtCPqRPN 1Wkw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-transfer-encoding:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature; bh=XpPUF4Lpte5er2Ch71QCy11te1/+/YJzd/wxHcmocTg=; b=r20dadBgXaArzaOm0kw5Y+LlHHIIg5tDryC+5Q+uNq0d8L/dirw7+6a6XXfJAQRFcu EB9Pdj0Fwl/yelCAmccarwTeZgg+w9+ddjzdilptN6ej8RSjzj4BP8fOXYpxSGfuUjg6 FZMCDunylujtKldHorZ2qQD8jICLcPa3+Jz5IEQTPkvzsNzJW8jVch44jpEjZuNnI7v7 jROZAKrg1RZMIQrBwn3osbO3Bx/GUSIXW7ISlPJXRn1xT9kj2z1mjBV5PaSALy86+K7T 1ULrUuDFRPvoTbVFsUFoT8MOctL3r/FhiwYHdzs4lsww0H1Avdwzd8WLAM/JLNPlWMB6 RMTw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b="FSvdiai/"; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id h4si5673083edn.445.2020.05.10.18.22.59; Sun, 10 May 2020 18:23:28 -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; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b="FSvdiai/"; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728762AbgEKBVT (ORCPT + 99 others); Sun, 10 May 2020 21:21:19 -0400 Received: from us-smtp-1.mimecast.com ([205.139.110.61]:43379 "EHLO us-smtp-delivery-1.mimecast.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1728381AbgEKBVT (ORCPT ); Sun, 10 May 2020 21:21:19 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1589160077; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=XpPUF4Lpte5er2Ch71QCy11te1/+/YJzd/wxHcmocTg=; b=FSvdiai/YNVNH4VUslYfV99JYZSQEYTJMNIRNq3vVTyYWOje81uB0lssKTos+KU2x1Uojc HyPBjzjZrU1tqWH4UhVw46g/QvbBtKYls8y14zoMqHxHkW5HOl/Ft2HA9SdeXnADVsAuQ1 oBJi7i9ln8r0aUn3zcDVzHcutu8ZTRk= Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-416-aRhFNX5KNKObKy9zYJ2tGw-1; Sun, 10 May 2020 21:21:14 -0400 X-MC-Unique: aRhFNX5KNKObKy9zYJ2tGw-1 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 4591A80058A; Mon, 11 May 2020 01:21:12 +0000 (UTC) Received: from localhost (ovpn-12-129.pek2.redhat.com [10.72.12.129]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 930026062D; Mon, 11 May 2020 01:21:07 +0000 (UTC) Date: Mon, 11 May 2020 09:21:00 +0800 From: Baoquan He To: Qian Cai Cc: Mel Gorman , Vlastimil Babka , Michal Hocko , David Hildenbrand , Linux-MM , LKML , Mike Rapoport Subject: Re: compaction: VM_BUG_ON_PAGE(!zone_spans_pfn(page_zone(page), pfn)) Message-ID: <20200511012100.GI5029@MiWiFi-R3L-srv> References: <8C537EB7-85EE-4DCF-943E-3CC0ED0DF56D@lca.pw> <20200424034353.GD4247@MiWiFi-R3L-srv> <20200505124314.GA5029@MiWiFi-R3L-srv> <46D27820-4B67-45F0-898C-B0547D654626@lca.pw> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <46D27820-4B67-45F0-898C-B0547D654626@lca.pw> User-Agent: Mutt/1.10.1 (2018-07-13) X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 05/05/20 at 09:20am, Qian Cai wrote: > > > > On May 5, 2020, at 8:43 AM, Baoquan He wrote: > > > > Hi, > > > > On 04/24/20 at 09:45am, Qian Cai wrote: > >> > >> > >>> On Apr 23, 2020, at 11:43 PM, Baoquan He wrote: > >>> > >>> On 04/23/20 at 05:25pm, Qian Cai wrote: > >>>> Compaction starts to crash below on linux-next today. The faulty page belongs to Node 0 DMA32 zone. > >>>> I’ll continue to narrow it down, but just want to give a headup in case someone could beat me to it. > >>>> > >>>> Debug output from free_area_init_core() > >>>> [ 0.000000] KK start page = ffffea0000000040, end page = ffffea0000040000, nid = 0 DMA > >>>> [ 0.000000] KK start page = ffffea0000040000, end page = ffffea0004000000, nid = 0 DMA32 > >>>> [ 0.000000] KK start page = ffffea0004000000, end page = ffffea0012000000, nid = 0 NORMAL > >>>> [ 0.000000] KK start page = ffffea0012000000, end page = ffffea0021fc0000, nid = 4 NORMAL > >>> > >>> Where are these printed? They are the direct mapping address of page? > >> > >> From this debug patch. Yes, direct mapping. > > > > Can you try below patch? I may get why this is caused, not sure if the > > place is right. > > > > diff --git a/mm/compaction.c b/mm/compaction.c > > index 177c11a8f3b9..e26972f26414 100644 > > --- a/mm/compaction.c > > +++ b/mm/compaction.c > > @@ -1409,7 +1409,9 @@ fast_isolate_freepages(struct compact_control *cc) > > cc->free_pfn = highest; > > } else { > > if (cc->direct_compaction && pfn_valid(min_pfn)) { > > - page = pfn_to_page(min_pfn); > > + page = pageblock_pfn_to_page(min_pfn, > > + pageblock_end_pfn(min_pfn), > > + cc->zone); > > cc->free_pfn = min_pfn; > > } > > } > > I have not had luck to reproduce this again yet, but feel free to move forward with the patch anyway if you are comfortable to do so, so at least people could review it properly. OK, I will make a patch with details in log and post. Thanks.