get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 2219952,
    "url": "http://patchwork.ozlabs.org/api/1.2/patches/2219952/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/linuxppc-dev/patch/20260405125240.2558577-28-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-28-songmuchun@bytedance.com>",
    "list_archive_url": "https://lore.kernel.org/linuxppc-dev/20260405125240.2558577-28-songmuchun@bytedance.com/",
    "date": "2026-04-05T12:52:18",
    "name": "[27/49] mm: call memblocks_present() before HugeTLB initialization",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "7ee6c54f618d3d3eace5e43cb151df9e54cc08a6",
    "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-28-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/2219952/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/2219952/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "\n <linuxppc-dev+bounces-19357-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=Noa295pn;\n\tdkim-atps=neutral",
            "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=lists.ozlabs.org\n (client-ip=2404:9400:21b9:f100::1; helo=lists.ozlabs.org;\n envelope-from=linuxppc-dev+bounces-19357-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::1029\"",
            "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=Noa295pn;\n\tdkim-atps=neutral",
            "lists.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=bytedance.com\n (client-ip=2607:f8b0:4864:20::1029; helo=mail-pj1-x1029.google.com;\n envelope-from=songmuchun@bytedance.com; receiver=lists.ozlabs.org)"
        ],
        "Received": [
            "from lists.ozlabs.org (lists.ozlabs.org\n [IPv6:2404:9400:21b9:f100::1])\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 4fpXXK5Z5Hz1yD3\n\tfor <incoming@patchwork.ozlabs.org>; Sun, 05 Apr 2026 22:56:33 +1000 (AEST)",
            "from boromir.ozlabs.org (localhost [127.0.0.1])\n\tby lists.ozlabs.org (Postfix) with ESMTP id 4fpXX71kmpz2yv8;\n\tSun, 05 Apr 2026 22:56:23 +1000 (AEST)",
            "from mail-pj1-x1029.google.com (mail-pj1-x1029.google.com\n [IPv6:2607:f8b0:4864:20::1029])\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 4fpXX63jhmz2yv4\n\tfor <linuxppc-dev@lists.ozlabs.org>; Sun, 05 Apr 2026 22:56:22 +1000 (AEST)",
            "by mail-pj1-x1029.google.com with SMTP id\n 98e67ed59e1d1-35d99031e4eso1813522a91.1\n        for <linuxppc-dev@lists.ozlabs.org>;\n Sun, 05 Apr 2026 05:56:22 -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.12\n        (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n        Sun, 05 Apr 2026 05:56:20 -0700 (PDT)"
        ],
        "ARC-Seal": "i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707; t=1775393783;\n\tcv=none;\n b=MYM12ZxGDpp/Gf//+MIpkIHzUQGpxRTLpADD9mwH1XuAPnVY9D2qy5Cs5q4RY8RfrW9Wg/Mm/iUpz18jKpq+rQoTC878l/uAUDZBwgo1qn7fZeo6RM0cA6tIfZqvtGRmwpjP4pAc1Xmn4PINOdzZwL7Zofi+N9915a/9Bi9lL3rmUgSVVr86ifyckJu9nFIzsIZJG65YtYw0v5SusM9BWu+G+HL+wxtN576bkA3upbKTfzRwpkdo4837yi+GNp3goxNiYnVgb8XyL3HYp7UaD0qjuPww0rZAQGyN3aUPcYW+eXEsNWq0gNFYdWvA9arClRWogXhHA4I3tyo/mZ8CfA==",
        "ARC-Message-Signature": "i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707;\n\tt=1775393783; c=relaxed/relaxed;\n\tbh=i+vulRN5m4Yydq260oUv4yelbrwHrOXM8b9fFHhOg90=;\n\th=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References:\n\t MIME-Version;\n b=fBris22l5bsj4NfR34w4I9XYzpaR6ROU/K9qvu3xTC3No78ACzKD1HW5G91W2fEtsG3mxYHdhVIocF5Yyx4JLXfNlf6TOMaJu7rd6SaqljyA6dC1Lxn4+9jE76XLmQHdzn5Y/vTex1sfOExAOx9uAyj0pZgFry44DaVCZctcKSyvFRxsCdm+t06B6Qufn8PAgA47kv9pvaVZvERQi5lXNiR05/NAZs5uOHronGTH5V+bnfjzlvjMf4QGDJg1V5mCAM8NU4eQ4AxbMi5XyVt7IYYis3qm+3whtKJoLTQySSqSFbJWbWRyFz0geKAjGNxoOgtB49unlyllODf/IQ/WNw==",
        "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=Noa295pn; dkim-atps=neutral;\n spf=pass (client-ip=2607:f8b0:4864:20::1029; helo=mail-pj1-x1029.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=1775393781; x=1775998581;\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=i+vulRN5m4Yydq260oUv4yelbrwHrOXM8b9fFHhOg90=;\n        b=Noa295pn/iuVb+Z/IoNHix+uDt7vIAkIDAlFLt4AG2vgz5/MspfLlDS5JN4NUk1Dhi\n         kZMen2Zw/QyB0YytM4ff1cL4rw7oNlIMBQ97Z/w76B/N2LtYfQo5O2K1q1gsv3lMJF9v\n         oCjm2f1kGfIBUUgJBODb8ayts4RXJiC+mD4xycrcMCZHdxxh7CqekYzu8kSzV8pzt4RY\n         PSECFe1cjDzPI8SXNB6hiPJtnwijCt0SM579LWH4S0J2/gVg2jnp+nFpYj5r7wPwPB72\n         4KJZHSD/52E75PfssMKaybL/GSy2YxVCkyQgBukzy3LDbsqNL33fiNfXYI1RHeZl6+8t\n         g0OA==",
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n        d=1e100.net; s=20251104; t=1775393781; x=1775998581;\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=i+vulRN5m4Yydq260oUv4yelbrwHrOXM8b9fFHhOg90=;\n        b=DbDI/2WMzN5zsuLrskA1MnDaEN8jBpWEcGRwgZq94NzAgNgDvzY5X65c4MIggTKUxx\n         LQ0LBRXVGabriRVywmdKm8Bk3O99J1kuhgngwX/FCNR0SyfmGXvUujFm50ghPrfWJgMY\n         7X4UrfFLO6zDiBl7qBrLudo9OzCUKRUt4zPUrhpdxedOE+fB7so/JfPZ4z0A2G/Y33HZ\n         h6cjXpdgdusFhHZ2L1+SGuDJPswBJnXgvlM6XxNZHeY3QPcmPSikdLNdSG5oHJMa6rwj\n         OdopS+bKALxM/1Y7/oGFIOkRlmBqiSZayBQJmTaWsUDkBeZ44Z+bRmxVnsro7q6/u/7D\n         3IdA==",
        "X-Forwarded-Encrypted": "i=1;\n AJvYcCX7gvoT8n6f7dRWe83ECX26Q6e3BRCJauqf+kUr24xmtZwRymG+A6gdDP1wY3qbN+0GRlFuPcYZ9M4p8Ds=@lists.ozlabs.org",
        "X-Gm-Message-State": "AOJu0Ywd2Bsb5AirQ4ks2v2IMizKQIGNZ2xOeS18Fa1IuZl9yMFlBUTK\n\tecMSv2ZBGkXnol/GxzUGe5CW6diFunHdqlCUPYzWuY15vWjZt1L28IbuERhidPSLzTM=",
        "X-Gm-Gg": "AeBDiesx4GXKxmfByjaZiFk3MaJV2ODaYRADSsSWDQyCKyBYUIMF+sLp5CgCI0yqovA\n\toPWcb36N2ZxvlxixwF7oY0MuKiyB2DaxRAtdGcprRjCYZ1RR7ruHb4RN6llDBWGoU+Ad9Vy+vU+\n\tDeiS8cMXyDVoDfoxei9nH8+9XKLjOnzWuPudeNFaTXYEqXcyObAR+v3yBzAeSPfnmLKpJ32YZ/K\n\tg6PWHX/+mAANgy9BZruJQVxoGS4oLwn/t9AwFny62lpBDdNP3UOUK29HuDjq5EtTUPS1oIE2cbc\n\t4bLbRkkv1r0L9b2frIGu+qaHQmD+EQAugMl0vkSc1SOcGc1/1MOEzOc4yZoP86kI5ZEJaggmt6+\n\t0YiXBq/h9JKcj8ZUdQtWmDfS42EB4QraNqtt8KZNoyGO3u0+FxtQp1aAKd5hQOD4eJRqz5STffg\n\t9LfDCuVlRj+LT0OKlGHSlDhUw3GeSXY9kQ0j9qOJiiNseLbl/NXA0bOw==",
        "X-Received": "by 2002:a17:90b:1c10:b0:35d:9f7c:141c with SMTP id\n 98e67ed59e1d1-35de695a4c6mr8913118a91.27.1775393780469;\n        Sun, 05 Apr 2026 05:56:20 -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 27/49] mm: call memblocks_present() before HugeTLB\n initialization",
        "Date": "Sun,  5 Apr 2026 20:52:18 +0800",
        "Message-Id": "<20260405125240.2558577-28-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": "Extract memblocks_present() from sparse_init() and call it earlier in\nmm_core_init_early().\n\nThis ensures that the struct mem_section array is properly allocated\nand marked as present before HugeTLB bootmem allocation. This is a\nnecessary preparation for the subsequent patches, which will need to\nperform early setting of the section order for HugeTLB pages.\n\nSigned-off-by: Muchun Song <songmuchun@bytedance.com>\n---\n mm/internal.h | 2 ++\n mm/mm_init.c  | 1 +\n mm/sparse.c   | 4 +---\n 3 files changed, 4 insertions(+), 3 deletions(-)",
    "diff": "diff --git a/mm/internal.h b/mm/internal.h\nindex c0d0f546864c..27c06250d6b8 100644\n--- a/mm/internal.h\n+++ b/mm/internal.h\n@@ -963,6 +963,7 @@ void memmap_init_range(unsigned long, int, unsigned long, unsigned long,\n  * mm/sparse.c\n  */\n #ifdef CONFIG_SPARSEMEM\n+void memblocks_present(void);\n void sparse_init(void);\n int sparse_index_init(unsigned long section_nr, int nid);\n \n@@ -1000,6 +1001,7 @@ static inline void __section_mark_present(struct mem_section *ms,\n int section_vmemmap_pages(unsigned long pfn, unsigned long nr_pages,\n \t\t\t  struct vmem_altmap *altmap, struct dev_pagemap *pgmap);\n #else\n+static inline void memblocks_present(void) {}\n static inline void sparse_init(void) {}\n #endif /* CONFIG_SPARSEMEM */\n \ndiff --git a/mm/mm_init.c b/mm/mm_init.c\nindex 7f5b326e9298..b47f65425bc1 100644\n--- a/mm/mm_init.c\n+++ b/mm/mm_init.c\n@@ -2675,6 +2675,7 @@ void __init __weak mem_init(void)\n \n void __init mm_core_init_early(void)\n {\n+\tmemblocks_present();\n \tfree_area_init();\n \t/* Zone data structures are available from here. */\n \thugetlb_cma_reserve();\ndiff --git a/mm/sparse.c b/mm/sparse.c\nindex 62659752980e..7779554c5a0c 100644\n--- a/mm/sparse.c\n+++ b/mm/sparse.c\n@@ -195,7 +195,7 @@ static void __init memory_present(int nid, unsigned long start, unsigned long en\n  * This is a convenience function that is useful to mark all of the systems\n  * memory as present during initialization.\n  */\n-static void __init memblocks_present(void)\n+void __init memblocks_present(void)\n {\n \tunsigned long start, end;\n \tint i, nid;\n@@ -420,8 +420,6 @@ void __init sparse_init(void)\n \tunsigned long pnum_end, pnum_begin, map_count = 1;\n \tint nid_begin;\n \n-\tmemblocks_present();\n-\n \tif (compound_info_has_mask()) {\n \t\tVM_WARN_ON_ONCE(!IS_ALIGNED((unsigned long) pfn_to_page(0),\n \t\t\t\t    MAX_FOLIO_VMEMMAP_ALIGN));\n",
    "prefixes": [
        "27/49"
    ]
}