Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/2195908/?format=api
{ "id": 2195908, "url": "http://patchwork.ozlabs.org/api/patches/2195908/?format=api", "web_url": "http://patchwork.ozlabs.org/project/linuxppc-dev/patch/20260212101001.343158-4-ruanjinjie@huawei.com/", "project": { "id": 2, "url": "http://patchwork.ozlabs.org/api/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": "<20260212101001.343158-4-ruanjinjie@huawei.com>", "list_archive_url": "https://lore.kernel.org/linuxppc-dev/20260212101001.343158-4-ruanjinjie@huawei.com/", "date": "2026-02-12T10:10:00", "name": "[v5,3/4] arm64: kexec: Add support for crashkernel CMA reservation", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "37e6d15f93c0267989a2ba9df2c10b3be21e2ee1", "submitter": { "id": 84791, "url": "http://patchwork.ozlabs.org/api/people/84791/?format=api", "name": "Jinjie Ruan", "email": "ruanjinjie@huawei.com" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/linuxppc-dev/patch/20260212101001.343158-4-ruanjinjie@huawei.com/mbox/", "series": [ { "id": 491953, "url": "http://patchwork.ozlabs.org/api/series/491953/?format=api", "web_url": "http://patchwork.ozlabs.org/project/linuxppc-dev/list/?series=491953", "date": "2026-02-12T10:09:57", "name": "arm64/riscv: Add support for crashkernel CMA reservation", "version": 5, "mbox": "http://patchwork.ozlabs.org/series/491953/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/2195908/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/2195908/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "\n <linuxppc-dev+bounces-16839-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 (1024-bit key;\n unprotected) header.d=huawei.com header.i=@huawei.com header.a=rsa-sha256\n header.s=dkim header.b=n9aL6Koi;\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-16839-incoming=patchwork.ozlabs.org@lists.ozlabs.org;\n receiver=patchwork.ozlabs.org)", "lists.ozlabs.org;\n arc=none smtp.remote-ip=113.46.200.217", "lists.ozlabs.org;\n dmarc=pass (p=quarantine dis=none) header.from=huawei.com", "lists.ozlabs.org;\n\tdkim=pass (1024-bit key;\n unprotected) header.d=huawei.com header.i=@huawei.com header.a=rsa-sha256\n header.s=dkim header.b=n9aL6Koi;\n\tdkim-atps=neutral", "lists.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=huawei.com\n (client-ip=113.46.200.217; helo=canpmsgout02.his.huawei.com;\n envelope-from=ruanjinjie@huawei.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 4fBWHd0tgQz1xpY\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 12 Feb 2026 21:09:33 +1100 (AEDT)", "from boromir.ozlabs.org (localhost [127.0.0.1])\n\tby lists.ozlabs.org (Postfix) with ESMTP id 4fBWHP2mZRz3bnL;\n\tThu, 12 Feb 2026 21:09:21 +1100 (AEDT)", "from canpmsgout02.his.huawei.com (canpmsgout02.his.huawei.com\n [113.46.200.217])\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 4fBWHM4NqYz2yY0\n\tfor <linuxppc-dev@lists.ozlabs.org>; Thu, 12 Feb 2026 21:09:19 +1100 (AEDT)", "from mail.maildlp.com (unknown [172.19.163.0])\n\tby canpmsgout02.his.huawei.com (SkyGuard) with ESMTPS id 4fBW9y1HSJzcb4N;\n\tThu, 12 Feb 2026 18:04:38 +0800 (CST)", "from dggpemf500011.china.huawei.com (unknown [7.185.36.131])\n\tby mail.maildlp.com (Postfix) with ESMTPS id 4A7CA4056D;\n\tThu, 12 Feb 2026 18:09:15 +0800 (CST)", "from huawei.com (10.90.53.73) by dggpemf500011.china.huawei.com\n (7.185.36.131) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.11; Thu, 12 Feb\n 2026 18:09:13 +0800" ], "ARC-Seal": "i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707; t=1770890961;\n\tcv=none;\n b=K5HuuJIBQamg2tLo9kTwC8uY8k9XejxxYu0yaLjz0RUkXHHTgGt4EDl5L/ZDtaAQ9W1he8fukimG6Oz97LbMJIkmta/dLpeiaetj4gZdNwvK6OA0Iz+tfb6NcAm5OnUH3VtPF2rpZyRCJvnOWAvwkATitTDzLqv+uzsJzDVf6hC4rM6bAHTBLKjaPVp5fStFb3mI/Z5qPgFLQQiVXRCmJnG2HWHzD/iDQ7Tjyop12ekNn+/JrUPRUxhyF11eDOZG7MwqIup5BaX6jhx7czK03jiYPC3rc6BPluZk4a3DI34s3Z1eF868J1nXgHwXwdRpqi5W4U4ecZEiBldfEEzAdw==", "ARC-Message-Signature": "i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707;\n\tt=1770890961; c=relaxed/relaxed;\n\tbh=g+cqoZxeKma4ciqaa6LpacmbaqmzkXvuRpW7u2o02X8=;\n\th=From:To:Subject:Date:Message-ID:In-Reply-To:References:\n\t MIME-Version:Content-Type;\n b=exI664bduLPguyhp7SCeloGpexM75bmdplVQ1bkygHmclele7roFvRppxBr9Z5wJGjOSuEqNMl05tvkRdCpG42v4rAaO7lBv/brWlbeYjwx7K5dXB+hBVKAwqPxD36t8dTa7DwdCOUwIDaglX4ib6rjg3me+XjVBfYGNHfxn9rowVmfKnibir/ZL20qtHewLqNO10MDCy2YtEFh3836I3eo4Hf+Al9w3oPoNO0pPOEasj6jERQbYzTeJMjC2AKwMZLOSN614G760ej3ZEYf/ZBgDStxUVjGzZ/O9AEBNq04qESIA6w1s+g9qu3LwUi/yxbcD1IjCBngb2BFYUrkvfA==", "ARC-Authentication-Results": "i=1; lists.ozlabs.org;\n dmarc=pass (p=quarantine dis=none) header.from=huawei.com;\n dkim=pass (1024-bit key;\n unprotected) header.d=huawei.com header.i=@huawei.com header.a=rsa-sha256\n header.s=dkim header.b=n9aL6Koi; dkim-atps=neutral;\n spf=pass (client-ip=113.46.200.217; helo=canpmsgout02.his.huawei.com;\n envelope-from=ruanjinjie@huawei.com;\n receiver=lists.ozlabs.org) smtp.mailfrom=huawei.com", "dkim-signature": "v=1; a=rsa-sha256; d=huawei.com; s=dkim;\n\tc=relaxed/relaxed; q=dns/txt;\n\th=From;\n\tbh=g+cqoZxeKma4ciqaa6LpacmbaqmzkXvuRpW7u2o02X8=;\n\tb=n9aL6KoiJh3/rFu1hXuueujGuykYvVit5Opx7v2hv3uJVWApZfePJoDzLMez0yKFtxnzV9SHf\n\txlWM6gYX8EaqSQ9jBepF3tSWbsz4h/MvZrVyTyJZFJtP9hQnVz74fXiU0+3e9ZCEVzUt0QrI45T\n\tjHGjhS/XA9NNgFul5+9hY1w=", "From": "Jinjie Ruan <ruanjinjie@huawei.com>", "To": "<corbet@lwn.net>, <skhan@linuxfoundation.org>, <catalin.marinas@arm.com>,\n\t<will@kernel.org>, <chenhuacai@kernel.org>, <kernel@xen0n.name>,\n\t<maddy@linux.ibm.com>, <mpe@ellerman.id.au>, <npiggin@gmail.com>,\n\t<chleroy@kernel.org>, <pjw@kernel.org>, <palmer@dabbelt.com>,\n\t<aou@eecs.berkeley.edu>, <alex@ghiti.fr>, <tglx@kernel.org>,\n\t<mingo@redhat.com>, <bp@alien8.de>, <dave.hansen@linux.intel.com>,\n\t<hpa@zytor.com>, <akpm@linux-foundation.org>, <bhe@redhat.com>,\n\t<vgoyal@redhat.com>, <dyoung@redhat.com>, <rdunlap@infradead.org>,\n\t<kees@kernel.org>, <elver@google.com>, <paulmck@kernel.org>, <arnd@arndb.de>,\n\t<ruanjinjie@huawei.com>, <fvdl@google.com>, <thuth@redhat.com>,\n\t<ardb@kernel.org>, <leitao@debian.org>, <rppt@kernel.org>, <osandov@fb.com>,\n\t<cfsworks@gmail.com>, <sourabhjain@linux.ibm.com>, <ryan.roberts@arm.com>,\n\t<tangyouling@kylinos.cn>, <eajames@linux.ibm.com>, <hbathini@linux.ibm.com>,\n\t<ritesh.list@gmail.com>, <songshuaishuai@tinylab.org>, <bjorn@rivosinc.com>,\n\t<samuel.holland@sifive.com>, <kevin.brodsky@arm.com>,\n\t<junhui.liu@pigmoral.tech>, <vishal.moola@gmail.com>, <dwmw@amazon.co.uk>,\n\t<pbonzini@redhat.com>, <kai.huang@intel.com>, <ubizjak@gmail.com>,\n\t<coxu@redhat.com>, <fuqiang.wang@easystack.cn>, <liaoyuanhong@vivo.com>,\n\t<brgerst@gmail.com>, <jbohac@suse.cz>, <x86@kernel.org>,\n\t<linux-doc@vger.kernel.org>, <linux-kernel@vger.kernel.org>,\n\t<linux-arm-kernel@lists.infradead.org>, <loongarch@lists.linux.dev>,\n\t<linuxppc-dev@lists.ozlabs.org>, <linux-riscv@lists.infradead.org>,\n\t<kexec@lists.infradead.org>", "Subject": "[PATCH v5 3/4] arm64: kexec: Add support for crashkernel CMA\n reservation", "Date": "Thu, 12 Feb 2026 18:10:00 +0800", "Message-ID": "<20260212101001.343158-4-ruanjinjie@huawei.com>", "X-Mailer": "git-send-email 2.34.1", "In-Reply-To": "<20260212101001.343158-1-ruanjinjie@huawei.com>", "References": "<20260212101001.343158-1-ruanjinjie@huawei.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-Type": "text/plain; charset=\"UTF-8\"", "Content-Transfer-Encoding": "8bit", "X-Originating-IP": "[10.90.53.73]", "X-ClientProxiedBy": "kwepems200002.china.huawei.com (7.221.188.68) To\n dggpemf500011.china.huawei.com (7.185.36.131)", "X-Spam-Status": "No, score=-0.2 required=3.0 tests=DKIM_SIGNED,DKIM_VALID,\n\tDKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS autolearn=disabled\n\tversion=4.0.1 OzLabs 8", "X-Spam-Checker-Version": "SpamAssassin 4.0.1 (2024-03-25) on lists.ozlabs.org" }, "content": "Commit 35c18f2933c5 (\"Add a new optional \",cma\" suffix to the\ncrashkernel= command line option\") and commit ab475510e042 (\"kdump:\nimplement reserve_crashkernel_cma\") added CMA support for kdump\ncrashkernel reservation.\n\nCrash kernel memory reservation wastes production resources if too\nlarge, risks kdump failure if too small, and faces allocation difficulties\non fragmented systems due to contiguous block constraints. The new\nCMA-based crashkernel reservation scheme splits the \"large fixed\nreservation\" into a \"small fixed region + large CMA dynamic region\": the\nCMA memory is available to userspace during normal operation to avoid\nwaste, and is reclaimed for kdump upon crash—saving memory while\nimproving reliability.\n\nSo extend crashkernel CMA reservation support to arm64. The following\nchanges are made to enable CMA reservation:\n\n- Parse and obtain the CMA reservation size along with other crashkernel\n parameters.\n- Call reserve_crashkernel_cma() to allocate the CMA region for kdump.\n- Include the CMA-reserved ranges for kdump kernel to use.\n- Exclude the CMA-reserved ranges from the crash kernel memory to\n prevent them from being exported through /proc/vmcore, which is already\n done in the crash core.\n\nUpdate kernel-parameters.txt to document CMA support for crashkernel on\narm64 architecture.\n\nAcked-by: Ard Biesheuvel <ardb@kernel.org>\nSigned-off-by: Jinjie Ruan <ruanjinjie@huawei.com>\n---\nv3:\n- Add Acked-by.\nv2:\n- Free cmem in prepare_elf_headers()\n- Add the mtivation.\n---\n Documentation/admin-guide/kernel-parameters.txt | 2 +-\n arch/arm64/kernel/machine_kexec_file.c | 6 ++++++\n arch/arm64/mm/init.c | 5 +++--\n 3 files changed, 10 insertions(+), 3 deletions(-)", "diff": "diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt\nindex ef1ba922dc60..a2c7c22c60e4 100644\n--- a/Documentation/admin-guide/kernel-parameters.txt\n+++ b/Documentation/admin-guide/kernel-parameters.txt\n@@ -1121,7 +1121,7 @@ Kernel parameters\n \t\t\tIt will be ignored when crashkernel=X,high is not used\n \t\t\tor memory reserved is below 4G.\n \tcrashkernel=size[KMG],cma\n-\t\t\t[KNL, X86, ppc] Reserve additional crash kernel memory from\n+\t\t\t[KNL, X86, ARM64, ppc] Reserve additional crash kernel memory from\n \t\t\tCMA. This reservation is usable by the first system's\n \t\t\tuserspace memory and kernel movable allocations (memory\n \t\t\tballoon, zswap). Pages allocated from this memory range\ndiff --git a/arch/arm64/kernel/machine_kexec_file.c b/arch/arm64/kernel/machine_kexec_file.c\nindex 506a165117b1..474b15eefb62 100644\n--- a/arch/arm64/kernel/machine_kexec_file.c\n+++ b/arch/arm64/kernel/machine_kexec_file.c\n@@ -63,6 +63,12 @@ int arch_prepare_elf64_ram_headers(struct crash_mem *cmem)\n \t\tcmem->nr_ranges++;\n \t}\n \n+\tfor (i = 0; i < crashk_cma_cnt; i++) {\n+\t\tcmem->ranges[cmem->nr_ranges].start = crashk_cma_ranges[i].start;\n+\t\tcmem->ranges[cmem->nr_ranges].end = crashk_cma_ranges[i].end;\n+\t\tcmem->nr_ranges++;\n+\t}\n+\n \treturn 0;\n }\n #endif\ndiff --git a/arch/arm64/mm/init.c b/arch/arm64/mm/init.c\nindex 524d34a0e921..28165d94af08 100644\n--- a/arch/arm64/mm/init.c\n+++ b/arch/arm64/mm/init.c\n@@ -96,8 +96,8 @@ phys_addr_t __ro_after_init arm64_dma_phys_limit;\n \n static void __init arch_reserve_crashkernel(void)\n {\n+\tunsigned long long crash_base, crash_size, cma_size = 0;\n \tunsigned long long low_size = 0;\n-\tunsigned long long crash_base, crash_size;\n \tbool high = false;\n \tint ret;\n \n@@ -106,11 +106,12 @@ static void __init arch_reserve_crashkernel(void)\n \n \tret = parse_crashkernel(boot_command_line, memblock_phys_mem_size(),\n \t\t\t\t&crash_size, &crash_base,\n-\t\t\t\t&low_size, NULL, &high);\n+\t\t\t\t&low_size, &cma_size, &high);\n \tif (ret)\n \t\treturn;\n \n \treserve_crashkernel_generic(crash_size, crash_base, low_size, high);\n+\treserve_crashkernel_cma(cma_size);\n }\n \n static phys_addr_t __init max_zone_phys(phys_addr_t zone_limit)\n", "prefixes": [ "v5", "3/4" ] }