get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/1.2/patches/2219955/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 2219955,
    "url": "http://patchwork.ozlabs.org/api/1.2/patches/2219955/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/linuxppc-dev/patch/20260405125240.2558577-31-songmuchun@bytedance.com/",
    "project": {
        "id": 2,
        "url": "http://patchwork.ozlabs.org/api/1.2/projects/2/?format=api",
        "name": "Linux PPC development",
        "link_name": "linuxppc-dev",
        "list_id": "linuxppc-dev.lists.ozlabs.org",
        "list_email": "linuxppc-dev@lists.ozlabs.org",
        "web_url": "https://github.com/linuxppc/wiki/wiki",
        "scm_url": "https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git",
        "webscm_url": "https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git/",
        "list_archive_url": "https://lore.kernel.org/linuxppc-dev/",
        "list_archive_url_format": "https://lore.kernel.org/linuxppc-dev/{}/",
        "commit_url_format": "https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git/commit/?id={}"
    },
    "msgid": "<20260405125240.2558577-31-songmuchun@bytedance.com>",
    "list_archive_url": "https://lore.kernel.org/linuxppc-dev/20260405125240.2558577-31-songmuchun@bytedance.com/",
    "date": "2026-04-05T12:52:21",
    "name": "[30/49] mm/sparse-vmemmap: remove unused SPARSEMEM_VMEMMAP_PREINIT feature",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "a6e873ad149c23765f17a481edd3083f2222eec6",
    "submitter": {
        "id": 78930,
        "url": "http://patchwork.ozlabs.org/api/1.2/people/78930/?format=api",
        "name": "Muchun Song",
        "email": "songmuchun@bytedance.com"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/linuxppc-dev/patch/20260405125240.2558577-31-songmuchun@bytedance.com/mbox/",
    "series": [
        {
            "id": 498783,
            "url": "http://patchwork.ozlabs.org/api/1.2/series/498783/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/linuxppc-dev/list/?series=498783",
            "date": "2026-04-05T12:51:51",
            "name": "mm: Generalize vmemmap optimization for DAX and HugeTLB",
            "version": 1,
            "mbox": "http://patchwork.ozlabs.org/series/498783/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/2219955/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/2219955/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "\n <linuxppc-dev+bounces-19360-incoming=patchwork.ozlabs.org@lists.ozlabs.org>",
        "X-Original-To": [
            "incoming@patchwork.ozlabs.org",
            "linuxppc-dev@lists.ozlabs.org"
        ],
        "Delivered-To": "patchwork-incoming@legolas.ozlabs.org",
        "Authentication-Results": [
            "legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=bytedance.com header.i=@bytedance.com\n header.a=rsa-sha256 header.s=google header.b=NnrrD8zQ;\n\tdkim-atps=neutral",
            "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=lists.ozlabs.org\n (client-ip=112.213.38.117; helo=lists.ozlabs.org;\n envelope-from=linuxppc-dev+bounces-19360-incoming=patchwork.ozlabs.org@lists.ozlabs.org;\n receiver=patchwork.ozlabs.org)",
            "lists.ozlabs.org;\n arc=none smtp.remote-ip=\"2607:f8b0:4864:20::1033\"",
            "lists.ozlabs.org;\n dmarc=pass (p=quarantine dis=none) header.from=bytedance.com",
            "lists.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=bytedance.com header.i=@bytedance.com\n header.a=rsa-sha256 header.s=google header.b=NnrrD8zQ;\n\tdkim-atps=neutral",
            "lists.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=bytedance.com\n (client-ip=2607:f8b0:4864:20::1033; helo=mail-pj1-x1033.google.com;\n envelope-from=songmuchun@bytedance.com; receiver=lists.ozlabs.org)"
        ],
        "Received": [
            "from lists.ozlabs.org (lists.ozlabs.org [112.213.38.117])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fpXXk0vnrz1xy1\n\tfor <incoming@patchwork.ozlabs.org>; Sun, 05 Apr 2026 22:56:54 +1000 (AEST)",
            "from boromir.ozlabs.org (localhost [127.0.0.1])\n\tby lists.ozlabs.org (Postfix) with ESMTP id 4fpXXT6cxbz2yvF;\n\tSun, 05 Apr 2026 22:56:41 +1000 (AEST)",
            "from mail-pj1-x1033.google.com (mail-pj1-x1033.google.com\n [IPv6:2607:f8b0:4864:20::1033])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature RSA-PSS (2048 bits) server-digest\n SHA256)\n\t(No client certificate requested)\n\tby lists.ozlabs.org (Postfix) with ESMTPS id 4fpXXT0rMtz2ynH\n\tfor <linuxppc-dev@lists.ozlabs.org>; Sun, 05 Apr 2026 22:56:41 +1000 (AEST)",
            "by mail-pj1-x1033.google.com with SMTP id\n 98e67ed59e1d1-35da1af3e10so2885667a91.3\n        for <linuxppc-dev@lists.ozlabs.org>;\n Sun, 05 Apr 2026 05:56:41 -0700 (PDT)",
            "from n232-176-004.byted.org ([36.110.163.97])\n        by smtp.gmail.com with ESMTPSA id\n 98e67ed59e1d1-35de66b4808sm3748505a91.2.2026.04.05.05.56.31\n        (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n        Sun, 05 Apr 2026 05:56:38 -0700 (PDT)"
        ],
        "ARC-Seal": "i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707; t=1775393801;\n\tcv=none;\n b=KUb/rHf3AVetqbs7NtnyUwslWhu+HSGwTb0YMUMGHtgc7UzcG0uZBWTwOAXOx1wWriXVFrK5GXqFnHoOSmdJs1qW+cNbtroN5SvVA97UIz55nPhbyaFlqHeH8D7qW7w0m42MU2Q1PlantWh1yCoIwRLw6t03tFPt5471Ra1BrYjvFvIMjL6ff9k5NIJFwol8/qO96HsfTc7uLibBunuNZtLRu/70YnKBtcs+PtWAUwa15wPFqonF4Fx8+dubkrewhsnl7ciOwq7Xw9rTXakLLi50YKPie0cu5ux3/4JOlg8ElKVWIRX+8ubCMqGbeGy9Yz9Y3B+bKT6xnl+cGc4LUw==",
        "ARC-Message-Signature": "i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707;\n\tt=1775393801; c=relaxed/relaxed;\n\tbh=MAH/SBWDnTjIq0A4CWltUgbBq7R5GiJqy6Ep8VuXWKc=;\n\th=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References:\n\t MIME-Version;\n b=UE4YFXHj5U8Y9mJ6bW4GX0RyYuXZeqwhF8k8Xj5oM5uLqkekYA35mBNClB8tuKud5+CdEITn4T3f2riNNyu21zwLEARNgkKlBz+OmqX6FwiYX5UAIRuJpBRNkQ9P59t+zOAkRAUaXk5DmFDwLKaVHxw7rGIbAJwuuU1MTu1fS8RGVVNEo4jFyIEI1HRAHj4REznd6ButqXulVr6T4HsFP4rzh/QYgOkCI/qKJckrUmupBbsJiGsKbbgmzzS3JqJJGJx0r4lj7Z6/FsirwtU85keLqj3ilZAZ0RkO0IhxWAK1lNE2tUMEBl/gxns+xvpKOFgcMsyTKtnEgfMK1YQ6RA==",
        "ARC-Authentication-Results": "i=1; lists.ozlabs.org;\n dmarc=pass (p=quarantine dis=none) header.from=bytedance.com;\n dkim=pass (2048-bit key;\n unprotected) header.d=bytedance.com header.i=@bytedance.com\n header.a=rsa-sha256 header.s=google header.b=NnrrD8zQ; dkim-atps=neutral;\n spf=pass (client-ip=2607:f8b0:4864:20::1033; helo=mail-pj1-x1033.google.com;\n envelope-from=songmuchun@bytedance.com;\n receiver=lists.ozlabs.org) smtp.mailfrom=bytedance.com",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n        d=bytedance.com; s=google; t=1775393799; x=1775998599;\n darn=lists.ozlabs.org;\n        h=content-transfer-encoding:mime-version:references:in-reply-to\n         :message-id:date:subject:cc:to:from:from:to:cc:subject:date\n         :message-id:reply-to;\n        bh=MAH/SBWDnTjIq0A4CWltUgbBq7R5GiJqy6Ep8VuXWKc=;\n        b=NnrrD8zQXYX92VlYhVFq0wW8/CE1fTteFcsCcG3phuz5XwQKqHQVvrRKoC7LJah4Nq\n         jy196BwqBUEU/3C1uui9HQvUe4QKunKTLSW6Hrk30Fum8owTLDLqdBQ4diwIWZI5/C7n\n         g+0IGTPXClUF2NnZNOehoK024FXxEkUPrn/fFnBUYlQ6ku804EsePXNF9uhROtzym/pZ\n         0bcMJKi9c8+dFEX1b6LJ5WJco46JXKJcYAnW4h4pAXPjKF9Bc1nejTUsciicXXXnqtOi\n         Uabq3lnekyQ6jKQP6gopjlgcUesUsK8gajVuGKUrHN005QhM0sDSZa603Vx3YFxF6pkW\n         QkxQ==",
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n        d=1e100.net; s=20251104; t=1775393799; x=1775998599;\n        h=content-transfer-encoding:mime-version:references:in-reply-to\n         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from\n         :to:cc:subject:date:message-id:reply-to;\n        bh=MAH/SBWDnTjIq0A4CWltUgbBq7R5GiJqy6Ep8VuXWKc=;\n        b=i5L1MqCgcS4RlVOASqH/uJb46N0QADlreJ+SledaJvOiNzTQ6K4qKek/WK9BsOiObq\n         25HZAFqNdZQTboLwD1KV/wEr07+udO8+fnwVNAX0R0GVI/R5WVDyVUk2S+ujlSbPuLYz\n         BHtwbxlLAEoPS2nzz3/BjAkO2dwMGr7+TPdCNWXFeRIyU8E3DKOEmt7Z9w5E3Qd04w6W\n         0g+RWh1+BK4bmbcggj/pD3bx8kMslUulWNLLn039DS2XLKu7PYbk+8LPi68LhWNqe38e\n         2ObzeC5K4Ech788DbzSA4uT7H4opHwUJjqSP0rmfPVZUE3w16RZOcOAO28xSzqGjIprs\n         CYGA==",
        "X-Forwarded-Encrypted": "i=1;\n AJvYcCWOOHWQNSeq/mbgAp440JqFdN6j1IvLzswC/FeRf0trKg9lMVgLVKuXKeT9IwBMJyny9Kejg21cBGiSU/E=@lists.ozlabs.org",
        "X-Gm-Message-State": "AOJu0YwttJW1xSKAjk8bgFPf48bdE1X5KEi7lE3/0OG3lV64j1vzyoVx\n\toEp2306NT0Lj+vVCuBIJmLunCPnIe87afSDPfAXAqykbsuj9TsK8RB9h9zO8U98MUlw=",
        "X-Gm-Gg": "AeBDieto2XKDYvbpL3T+rRVpuvVI6yJOx1RA4RaTetAfM4rY5gDE454cmdrCuEHooLM\n\trTGJ4fC7jUBgS4/Enpww0Sq27B+R3TfhzFzT6pMeSDF4gdo08TlupUFDSHp32AFM5xA6W++SSLA\n\tEOiJCUjV9120OFFYTY2bqhPm/MsxTOvJl3vObDKUpacvlN30AjJyMhWk4raMNOqhJDqI9UCKLke\n\tIs5/bl7woBKkSmoVgYDY+vYF+mOHqppUAb8+dJaNRzhlxfZJZl9pk3/GRcMk5pK44oyseIgpLVJ\n\tpyWqmZcQypZT8X+1i/+cBwTV+kz3IM7rX8zdbpoaUQ9jk4dcQIGyeeKmpdXV0NiXpCqinLsYNId\n\t/t/58zbR/nFwoWamfBQxQ+cHo2+8BcnKfICtmRKvTJhr/uycSttNf162r+LiOEB1FXDoo0uT01a\n\tFyoXJ+aXsn/PlZ1ZPTcFDPstOS1+pFx1Btr9nls62xJnf1cVGXhJ1jJQ==",
        "X-Received": "by 2002:a17:90b:3c85:b0:359:9014:99e7 with SMTP id\n 98e67ed59e1d1-35de69b84bamr8528565a91.29.1775393799189;\n        Sun, 05 Apr 2026 05:56:39 -0700 (PDT)",
        "From": "Muchun Song <songmuchun@bytedance.com>",
        "To": "Andrew Morton <akpm@linux-foundation.org>,\n\tDavid Hildenbrand <david@kernel.org>,\n\tMuchun Song <muchun.song@linux.dev>,\n\tOscar Salvador <osalvador@suse.de>,\n\tMichael Ellerman <mpe@ellerman.id.au>,\n\tMadhavan Srinivasan <maddy@linux.ibm.com>",
        "Cc": "Lorenzo Stoakes <ljs@kernel.org>,\n\t\"Liam R . Howlett\" <Liam.Howlett@oracle.com>,\n\tVlastimil Babka <vbabka@kernel.org>,\n\tMike Rapoport <rppt@kernel.org>,\n\tSuren Baghdasaryan <surenb@google.com>,\n\tMichal Hocko <mhocko@suse.com>,\n\tNicholas Piggin <npiggin@gmail.com>,\n\tChristophe Leroy <chleroy@kernel.org>,\n\taneesh.kumar@linux.ibm.com,\n\tjoao.m.martins@oracle.com,\n\tlinux-mm@kvack.org,\n\tlinuxppc-dev@lists.ozlabs.org,\n\tlinux-kernel@vger.kernel.org,\n\tMuchun Song <songmuchun@bytedance.com>",
        "Subject": "[PATCH 30/49] mm/sparse-vmemmap: remove unused\n SPARSEMEM_VMEMMAP_PREINIT feature",
        "Date": "Sun,  5 Apr 2026 20:52:21 +0800",
        "Message-Id": "<20260405125240.2558577-31-songmuchun@bytedance.com>",
        "X-Mailer": "git-send-email 2.20.1",
        "In-Reply-To": "<20260405125240.2558577-1-songmuchun@bytedance.com>",
        "References": "<20260405125240.2558577-1-songmuchun@bytedance.com>",
        "X-Mailing-List": "linuxppc-dev@lists.ozlabs.org",
        "List-Id": "<linuxppc-dev.lists.ozlabs.org>",
        "List-Help": "<mailto:linuxppc-dev+help@lists.ozlabs.org>",
        "List-Owner": "<mailto:linuxppc-dev+owner@lists.ozlabs.org>",
        "List-Post": "<mailto:linuxppc-dev@lists.ozlabs.org>",
        "List-Archive": "<https://lore.kernel.org/linuxppc-dev/>,\n  <https://lists.ozlabs.org/pipermail/linuxppc-dev/>",
        "List-Subscribe": "<mailto:linuxppc-dev+subscribe@lists.ozlabs.org>,\n  <mailto:linuxppc-dev+subscribe-digest@lists.ozlabs.org>,\n  <mailto:linuxppc-dev+subscribe-nomail@lists.ozlabs.org>",
        "List-Unsubscribe": "<mailto:linuxppc-dev+unsubscribe@lists.ozlabs.org>",
        "Precedence": "list",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "X-Spam-Status": "No, score=-0.2 required=3.0 tests=DKIM_SIGNED,DKIM_VALID,\n\tDKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS\n\tautolearn=disabled version=4.0.1 OzLabs 8",
        "X-Spam-Checker-Version": "SpamAssassin 4.0.1 (2024-03-25) on lists.ozlabs.org"
    },
    "content": "Since the bootmem vmemmap optimization has been reimplemented to use\nthe new early compound vmemmap infrastructure, the old\nSPARSEMEM_VMEMMAP_PREINIT feature and its related code (e.g.,\nsparse_vmemmap_init_nid_early(), preinited_vmemmap_section()) are no\nlonger used.\n\nRemove them to clean up the code.\n\nSigned-off-by: Muchun Song <songmuchun@bytedance.com>\n---\n arch/x86/Kconfig       |  1 -\n fs/Kconfig             |  1 -\n include/linux/mmzone.h | 25 -------------------------\n mm/Kconfig             |  5 -----\n mm/sparse-vmemmap.c    | 13 -------------\n mm/sparse.c            | 23 ++++++++---------------\n 6 files changed, 8 insertions(+), 60 deletions(-)",
    "diff": "diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig\nindex 99bb5217649a..f19625648f0f 100644\n--- a/arch/x86/Kconfig\n+++ b/arch/x86/Kconfig\n@@ -148,7 +148,6 @@ config X86\n \tselect ARCH_WANT_LD_ORPHAN_WARN\n \tselect ARCH_WANT_OPTIMIZE_DAX_VMEMMAP\tif X86_64\n \tselect ARCH_WANT_OPTIMIZE_HUGETLB_VMEMMAP\tif X86_64\n-\tselect ARCH_WANT_HUGETLB_VMEMMAP_PREINIT if X86_64\n \tselect ARCH_WANTS_THP_SWAP\t\tif X86_64\n \tselect ARCH_HAS_PARANOID_L1D_FLUSH\n \tselect ARCH_WANT_IRQS_OFF_ACTIVATE_MM\ndiff --git a/fs/Kconfig b/fs/Kconfig\nindex 43cb06de297f..e70aa5f0429a 100644\n--- a/fs/Kconfig\n+++ b/fs/Kconfig\n@@ -278,7 +278,6 @@ config HUGETLB_PAGE_OPTIMIZE_VMEMMAP\n \tdef_bool HUGETLB_PAGE\n \tdepends on ARCH_WANT_OPTIMIZE_HUGETLB_VMEMMAP\n \tdepends on SPARSEMEM_VMEMMAP\n-\tselect SPARSEMEM_VMEMMAP_PREINIT if ARCH_WANT_HUGETLB_VMEMMAP_PREINIT\n \n config HUGETLB_PMD_PAGE_TABLE_SHARING\n \tdef_bool HUGETLB_PAGE\ndiff --git a/include/linux/mmzone.h b/include/linux/mmzone.h\nindex 0bd20efac427..75425407e0c4 100644\n--- a/include/linux/mmzone.h\n+++ b/include/linux/mmzone.h\n@@ -2078,9 +2078,6 @@ enum {\n \tSECTION_IS_EARLY_BIT,\n #ifdef CONFIG_ZONE_DEVICE\n \tSECTION_TAINT_ZONE_DEVICE_BIT,\n-#endif\n-#ifdef CONFIG_SPARSEMEM_VMEMMAP_PREINIT\n-\tSECTION_IS_VMEMMAP_PREINIT_BIT,\n #endif\n \tSECTION_MAP_LAST_BIT,\n };\n@@ -2092,9 +2089,6 @@ enum {\n #ifdef CONFIG_ZONE_DEVICE\n #define SECTION_TAINT_ZONE_DEVICE\tBIT(SECTION_TAINT_ZONE_DEVICE_BIT)\n #endif\n-#ifdef CONFIG_SPARSEMEM_VMEMMAP_PREINIT\n-#define SECTION_IS_VMEMMAP_PREINIT\tBIT(SECTION_IS_VMEMMAP_PREINIT_BIT)\n-#endif\n #define SECTION_MAP_MASK\t\t(~(BIT(SECTION_MAP_LAST_BIT) - 1))\n #define SECTION_NID_SHIFT\t\tSECTION_MAP_LAST_BIT\n \n@@ -2149,24 +2143,6 @@ static inline int online_device_section(const struct mem_section *section)\n }\n #endif\n \n-#ifdef CONFIG_SPARSEMEM_VMEMMAP_PREINIT\n-static inline int preinited_vmemmap_section(const struct mem_section *section)\n-{\n-\treturn (section &&\n-\t\t(section->section_mem_map & SECTION_IS_VMEMMAP_PREINIT));\n-}\n-\n-void sparse_vmemmap_init_nid_early(int nid);\n-#else\n-static inline int preinited_vmemmap_section(const struct mem_section *section)\n-{\n-\treturn 0;\n-}\n-static inline void sparse_vmemmap_init_nid_early(int nid)\n-{\n-}\n-#endif\n-\n static inline int online_section_nr(unsigned long nr)\n {\n \treturn online_section(__nr_to_section(nr));\n@@ -2407,7 +2383,6 @@ static inline unsigned long next_present_section_nr(unsigned long section_nr)\n #endif\n \n #else\n-#define sparse_vmemmap_init_nid_early(_nid) do {} while (0)\n #define pfn_in_present_section pfn_valid\n #endif /* CONFIG_SPARSEMEM */\n \ndiff --git a/mm/Kconfig b/mm/Kconfig\nindex e8bf1e9e6ad9..3cce862088f1 100644\n--- a/mm/Kconfig\n+++ b/mm/Kconfig\n@@ -410,8 +410,6 @@ config SPARSEMEM_VMEMMAP\n \t  pfn_to_page and page_to_pfn operations.  This is the most\n \t  efficient option when sufficient kernel resources are available.\n \n-config SPARSEMEM_VMEMMAP_PREINIT\n-\tbool\n #\n # Select this config option from the architecture Kconfig, if it is preferred\n # to enable the feature of HugeTLB/dev_dax vmemmap optimization.\n@@ -422,9 +420,6 @@ config ARCH_WANT_OPTIMIZE_DAX_VMEMMAP\n config ARCH_WANT_OPTIMIZE_HUGETLB_VMEMMAP\n \tbool\n \n-config ARCH_WANT_HUGETLB_VMEMMAP_PREINIT\n-\tbool\n-\n config HAVE_MEMBLOCK_PHYS_MAP\n \tbool\n \ndiff --git a/mm/sparse-vmemmap.c b/mm/sparse-vmemmap.c\nindex 9da49b0d03f0..c35d912a1fef 100644\n--- a/mm/sparse-vmemmap.c\n+++ b/mm/sparse-vmemmap.c\n@@ -543,19 +543,6 @@ struct page * __meminit __populate_section_memmap(unsigned long pfn,\n \treturn pfn_to_page(pfn);\n }\n \n-#ifdef CONFIG_SPARSEMEM_VMEMMAP_PREINIT\n-/*\n- * This is called just before initializing sections for a NUMA node.\n- * Any special initialization that needs to be done before the\n- * generic initialization can be done from here. Sections that\n- * are initialized in hooks called from here will be skipped by\n- * the generic initialization.\n- */\n-void __init sparse_vmemmap_init_nid_early(int nid)\n-{\n-}\n-#endif\n-\n static void subsection_mask_set(unsigned long *map, unsigned long pfn,\n \t\tunsigned long nr_pages)\n {\ndiff --git a/mm/sparse.c b/mm/sparse.c\nindex 7779554c5a0c..04c641b97325 100644\n--- a/mm/sparse.c\n+++ b/mm/sparse.c\n@@ -385,27 +385,20 @@ static void __init sparse_init_nid(int nid, unsigned long pnum_begin,\n \t\tpanic(\"The node[%d] usemap allocation failed\\n\", nid);\n \tsparse_buffer_init(map_count * section_map_size(), nid);\n \n-\tsparse_vmemmap_init_nid_early(nid);\n-\n \tfor_each_present_section_nr(pnum_begin, pnum) {\n-\t\tstruct mem_section *ms;\n \t\tunsigned long pfn = section_nr_to_pfn(pnum);\n+\t\tstruct page *map;\n \n \t\tif (pnum >= pnum_end)\n \t\t\tbreak;\n \n-\t\tms = __nr_to_section(pnum);\n-\t\tif (!preinited_vmemmap_section(ms)) {\n-\t\t\tstruct page *map;\n-\n-\t\t\tmap = __populate_section_memmap(pfn, PAGES_PER_SECTION,\n-\t\t\t\t\t\t\tnid, NULL, NULL);\n-\t\t\tif (!map)\n-\t\t\t\tpanic(\"Populate section (%ld) on node[%d] failed\\n\", pnum, nid);\n-\t\t\tmemmap_boot_pages_add(section_vmemmap_pages(pfn, PAGES_PER_SECTION,\n-\t\t\t\t\t\t\t\t    NULL, NULL));\n-\t\t\tsparse_init_early_section(nid, map, pnum, 0);\n-\t\t}\n+\t\tmap = __populate_section_memmap(pfn, PAGES_PER_SECTION,\n+\t\t\t\t\t\tnid, NULL, NULL);\n+\t\tif (!map)\n+\t\t\tpanic(\"Populate section (%ld) on node[%d] failed\\n\", pnum, nid);\n+\t\tmemmap_boot_pages_add(section_vmemmap_pages(pfn, PAGES_PER_SECTION,\n+\t\t\t\t\t\t\t    NULL, NULL));\n+\t\tsparse_init_early_section(nid, map, pnum, 0);\n \t}\n \tsparse_usage_fini();\n \tsparse_buffer_fini();\n",
    "prefixes": [
        "30/49"
    ]
}