From patchwork Mon Jan 11 19:40:15 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mike Rapoport X-Patchwork-Id: 12011593 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-11.8 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 31A73C433E0 for ; Mon, 11 Jan 2021 19:40:31 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id B055E22C7E for ; Mon, 11 Jan 2021 19:40:30 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org B055E22C7E Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id AA99D6B0278; Mon, 11 Jan 2021 14:40:29 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 9E3836B00AB; Mon, 11 Jan 2021 14:40:29 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 85D4B6B0272; Mon, 11 Jan 2021 14:40:29 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0029.hostedemail.com [216.40.44.29]) by kanga.kvack.org (Postfix) with ESMTP id 5F22C6B026D for ; Mon, 11 Jan 2021 14:40:29 -0500 (EST) Received: from smtpin17.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay04.hostedemail.com (Postfix) with ESMTP id 2925B1EE6 for ; Mon, 11 Jan 2021 19:40:29 +0000 (UTC) X-FDA: 77694510978.17.band86_5c0b0df2750f Received: from filter.hostedemail.com (10.5.16.251.rfc1918.com [10.5.16.251]) by smtpin17.hostedemail.com (Postfix) with ESMTP id 09471180D0185 for ; Mon, 11 Jan 2021 19:40:29 +0000 (UTC) X-HE-Tag: band86_5c0b0df2750f X-Filterd-Recvd-Size: 3242 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by imf33.hostedemail.com (Postfix) with ESMTP for ; Mon, 11 Jan 2021 19:40:28 +0000 (UTC) Received: by mail.kernel.org (Postfix) with ESMTPSA id EF23522BF3; Mon, 11 Jan 2021 19:40:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1610394027; bh=wMhR+nnU1eezFDf6iB1XZoqyfaXAGSf1irT3FkxVVjI=; h=From:To:Cc:Subject:Date:From; b=pQjOSIJk6BNqRFvzbbWQxJWtYYQgM/1Teuad/NVOg/V7SEr6hIyhLTe5klps2lYF6 ACRHW8/YFDzJaPvnqKf3nFr/mgg4aeUALUq/0nBk3KdiqOvqblCJLMT4dMZuJ0KKuw zV73aDaE9w6EOE+U4O8Fv1LqbMtK+M4Ezna7cSE/bVEYHw3Fd9e8IvR187Co19EFFv btoJrImUrD23SSJlPNSx8bMWRjt6b+uw7g+8IEjegpgNSveHHS7Jc96u1i9wzGSI8b deq7HDEZWflnLsMn72f4uJ84+x/n88ZuYMKoe/AmR3qQZG6NCr6DVyt2m50zf1M1bi 8wYlYLaIGrgtQ== From: Mike Rapoport To: Andrew Morton Cc: Andrea Arcangeli , Baoquan He , Borislav Petkov , David Hildenbrand , "H. Peter Anvin" , Ingo Molnar , Mel Gorman , Michal Hocko , Mike Rapoport , Mike Rapoport , Qian Cai , Thomas Gleixner , Vlastimil Babka , linux-kernel@vger.kernel.org, linux-mm@kvack.org, x86@kernel.org Subject: [PATCH v3 0/2] mm: fix initialization of struct page for holes in memory layout Date: Mon, 11 Jan 2021 21:40:15 +0200 Message-Id: <20210111194017.22696-1-rppt@kernel.org> X-Mailer: git-send-email 2.28.0 MIME-Version: 1.0 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: From: Mike Rapoport Hi, Commit 73a6e474cb37 ("mm: memmap_init: iterate over memblock regions rather that check each PFN") exposed several issues with the memory map initialization and these patches fix those issues. Initially there were crashes during compaction that Qian Cai reported back in April [1]. It seemed back then that the problem was fixed, but a few weeks ago Andrea Arcangeli hit the same bug [2] and there was an additional discussion at [3]. v3: * use architectural zone constraints to set zone links for struct pages corresponding to the holes * drop implicit update of memblock.memory * add a patch that sets pfn 0 to E820_TYPE_RAM on x86 v2: https://lore.kernel.org/lkml/20201209214304.6812-1-rppt@kernel.org/): * added patch that adds all regions in memblock.reserved that do not overlap with memblock.memory to memblock.memory in the beginning of free_area_init() [1] https://lore.kernel.org/lkml/8C537EB7-85EE-4DCF-943E-3CC0ED0DF56D@lca.pw [2] https://lore.kernel.org/lkml/20201121194506.13464-1-aarcange@redhat.com [3] https://lore.kernel.org/mm-commits/20201206005401.qKuAVgOXr%akpm@linux-foundation.org Mike Rapoport (2): x86/setup: don't remove E820_TYPE_RAM for pfn 0 mm: fix initialization of struct page for holes in memory layout arch/x86/kernel/setup.c | 20 +++++----- mm/page_alloc.c | 84 ++++++++++++++++++++++++----------------- 2 files changed, 59 insertions(+), 45 deletions(-)