All of lore.kernel.org
 help / color / mirror / Atom feed
From: Zhen Lei <thunder.leizhen@huawei.com>
To: Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
	<x86@kernel.org>, "H . Peter Anvin" <hpa@zytor.com>,
	<linux-kernel@vger.kernel.org>, Dave Young <dyoung@redhat.com>,
	Baoquan He <bhe@redhat.com>, Vivek Goyal <vgoyal@redhat.com>,
	Eric Biederman <ebiederm@xmission.com>,
	<kexec@lists.infradead.org>,
	Catalin Marinas <catalin.marinas@arm.com>,
	"Will Deacon" <will@kernel.org>,
	<linux-arm-kernel@lists.infradead.org>,
	Rob Herring <robh+dt@kernel.org>,
	Frank Rowand <frowand.list@gmail.com>,
	<devicetree@vger.kernel.org>, Jonathan Corbet <corbet@lwn.net>,
	<linux-doc@vger.kernel.org>
Cc: Zhen Lei <thunder.leizhen@huawei.com>,
	Randy Dunlap <rdunlap@infradead.org>,
	Feng Zhou <zhoufeng.zf@bytedance.com>,
	Kefeng Wang <wangkefeng.wang@huawei.com>,
	Chen Zhou <dingguo.cz@antgroup.com>,
	"John Donnelly" <John.p.donnelly@oracle.com>
Subject: [PATCH v19 09/13] x86/setup: Use generic reserve_crashkernel_mem[_low]()
Date: Tue, 28 Dec 2021 21:26:08 +0800	[thread overview]
Message-ID: <20211228132612.1860-10-thunder.leizhen@huawei.com> (raw)
In-Reply-To: <20211228132612.1860-1-thunder.leizhen@huawei.com>

Use generic reserve_crashkernel_mem[_low]() to replace arch-specific
reserve_crashkernel_low() and a partial implementation of
reserve_crashkernel(). The only difference is that
"insert_resource(&iomem_resource, &crashk_low_res);" is moved into
reserve_crashkernel(), no functional change.

Signed-off-by: Zhen Lei <thunder.leizhen@huawei.com>
---
 arch/x86/kernel/setup.c | 93 ++---------------------------------------
 1 file changed, 4 insertions(+), 89 deletions(-)

diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
index 22d63dbf5db0a58..ee2606b3b9da662 100644
--- a/arch/x86/kernel/setup.c
+++ b/arch/x86/kernel/setup.c
@@ -391,52 +391,6 @@ static void __init memblock_x86_reserve_range_setup_data(void)
  */
 
 #ifdef CONFIG_KEXEC_CORE
-
-static int __init reserve_crashkernel_low(unsigned long long low_size)
-{
-#ifdef CONFIG_X86_64
-	unsigned long long low_base = 0;
-	unsigned long low_mem_limit;
-
-	low_mem_limit = min(memblock_phys_mem_size(), CRASH_ADDR_LOW_MAX);
-
-	/* crashkernel=Y,low is not specified */
-	if ((long)low_size < 0) {
-		/*
-		 * two parts from kernel/dma/swiotlb.c:
-		 * -swiotlb size: user-specified with swiotlb= or default.
-		 *
-		 * -swiotlb overflow buffer: now hardcoded to 32k. We round it
-		 * to 8M for other buffers that may need to stay low too. Also
-		 * make sure we allocate enough extra low memory so that we
-		 * don't run out of DMA buffers for 32-bit devices.
-		 */
-		low_size = max(swiotlb_size_or_default() + (8UL << 20), 256UL << 20);
-	} else {
-		/* passed with crashkernel=0,low ? */
-		if (!low_size)
-			return 0;
-	}
-
-	low_base = memblock_phys_alloc_range(low_size, CRASH_ALIGN, 0, CRASH_ADDR_LOW_MAX);
-	if (!low_base) {
-		pr_err("Cannot reserve %ldMB crashkernel low memory, please try smaller size.\n",
-		       (unsigned long)(low_size >> 20));
-		return -ENOMEM;
-	}
-
-	pr_info("Reserving %ldMB of low memory at %ldMB for crashkernel (low RAM limit: %ldMB)\n",
-		(unsigned long)(low_size >> 20),
-		(unsigned long)(low_base >> 20),
-		(unsigned long)(low_mem_limit >> 20));
-
-	crashk_low_res.start = low_base;
-	crashk_low_res.end   = low_base + low_size - 1;
-	insert_resource(&iomem_resource, &crashk_low_res);
-#endif
-	return 0;
-}
-
 static void __init reserve_crashkernel(void)
 {
 	unsigned long long crash_size, crash_base, total_mem, low_size;
@@ -460,51 +414,12 @@ static void __init reserve_crashkernel(void)
 		return;
 	}
 
-	/* 0 means: find the address automatically */
-	if (!crash_base) {
-		/*
-		 * Set CRASH_ADDR_LOW_MAX upper bound for crash memory,
-		 * crashkernel=x,high reserves memory over 4G, also allocates
-		 * 256M extra low memory for DMA buffers and swiotlb.
-		 * But the extra memory is not required for all machines.
-		 * So try low memory first and fall back to high memory
-		 * unless "crashkernel=size[KMG],high" is specified.
-		 */
-		if (!high)
-			crash_base = memblock_phys_alloc_range(crash_size,
-						CRASH_ALIGN, CRASH_ALIGN,
-						CRASH_ADDR_LOW_MAX);
-		if (!crash_base)
-			crash_base = memblock_phys_alloc_range(crash_size,
-						CRASH_ALIGN, CRASH_ALIGN,
-						CRASH_ADDR_HIGH_MAX);
-		if (!crash_base) {
-			pr_info("crashkernel reservation failed - No suitable area found.\n");
-			return;
-		}
-	} else {
-		unsigned long long start;
-
-		start = memblock_phys_alloc_range(crash_size, CRASH_BASE_ALIGN, crash_base,
-						  crash_base + crash_size);
-		if (start != crash_base) {
-			pr_info("crashkernel reservation failed - memory is in use.\n");
-			return;
-		}
-	}
-
-	if (crash_base >= (1ULL << 32) && reserve_crashkernel_low(low_size)) {
-		memblock_phys_free(crash_base, crash_size);
+	ret = reserve_crashkernel_mem(total_mem, crash_size, crash_base, low_size, high);
+	if (ret)
 		return;
-	}
-
-	pr_info("Reserving %ldMB of memory at %ldMB for crashkernel (System RAM: %ldMB)\n",
-		(unsigned long)(crash_size >> 20),
-		(unsigned long)(crash_base >> 20),
-		(unsigned long)(total_mem >> 20));
 
-	crashk_res.start = crash_base;
-	crashk_res.end   = crash_base + crash_size - 1;
+	if (crashk_low_res.end > crashk_low_res.start)
+		insert_resource(&iomem_resource, &crashk_low_res);
 	insert_resource(&iomem_resource, &crashk_res);
 }
 #else
-- 
2.25.1


WARNING: multiple messages have this Message-ID (diff)
From: Zhen Lei <thunder.leizhen@huawei.com>
To: Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
	<x86@kernel.org>, "H . Peter Anvin" <hpa@zytor.com>,
	<linux-kernel@vger.kernel.org>, Dave Young <dyoung@redhat.com>,
	Baoquan He <bhe@redhat.com>, Vivek Goyal <vgoyal@redhat.com>,
	Eric Biederman <ebiederm@xmission.com>,
	<kexec@lists.infradead.org>,
	Catalin Marinas <catalin.marinas@arm.com>,
	"Will Deacon" <will@kernel.org>,
	<linux-arm-kernel@lists.infradead.org>,
	Rob Herring <robh+dt@kernel.org>,
	Frank Rowand <frowand.list@gmail.com>,
	<devicetree@vger.kernel.org>, Jonathan Corbet <corbet@lwn.net>,
	<linux-doc@vger.kernel.org>
Cc: Zhen Lei <thunder.leizhen@huawei.com>,
	Randy Dunlap <rdunlap@infradead.org>,
	Feng Zhou <zhoufeng.zf@bytedance.com>,
	Kefeng Wang <wangkefeng.wang@huawei.com>,
	Chen Zhou <dingguo.cz@antgroup.com>,
	"John Donnelly" <John.p.donnelly@oracle.com>
Subject: [PATCH v19 09/13] x86/setup: Use generic reserve_crashkernel_mem[_low]()
Date: Tue, 28 Dec 2021 21:26:08 +0800	[thread overview]
Message-ID: <20211228132612.1860-10-thunder.leizhen@huawei.com> (raw)
In-Reply-To: <20211228132612.1860-1-thunder.leizhen@huawei.com>

Use generic reserve_crashkernel_mem[_low]() to replace arch-specific
reserve_crashkernel_low() and a partial implementation of
reserve_crashkernel(). The only difference is that
"insert_resource(&iomem_resource, &crashk_low_res);" is moved into
reserve_crashkernel(), no functional change.

Signed-off-by: Zhen Lei <thunder.leizhen@huawei.com>
---
 arch/x86/kernel/setup.c | 93 ++---------------------------------------
 1 file changed, 4 insertions(+), 89 deletions(-)

diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
index 22d63dbf5db0a58..ee2606b3b9da662 100644
--- a/arch/x86/kernel/setup.c
+++ b/arch/x86/kernel/setup.c
@@ -391,52 +391,6 @@ static void __init memblock_x86_reserve_range_setup_data(void)
  */
 
 #ifdef CONFIG_KEXEC_CORE
-
-static int __init reserve_crashkernel_low(unsigned long long low_size)
-{
-#ifdef CONFIG_X86_64
-	unsigned long long low_base = 0;
-	unsigned long low_mem_limit;
-
-	low_mem_limit = min(memblock_phys_mem_size(), CRASH_ADDR_LOW_MAX);
-
-	/* crashkernel=Y,low is not specified */
-	if ((long)low_size < 0) {
-		/*
-		 * two parts from kernel/dma/swiotlb.c:
-		 * -swiotlb size: user-specified with swiotlb= or default.
-		 *
-		 * -swiotlb overflow buffer: now hardcoded to 32k. We round it
-		 * to 8M for other buffers that may need to stay low too. Also
-		 * make sure we allocate enough extra low memory so that we
-		 * don't run out of DMA buffers for 32-bit devices.
-		 */
-		low_size = max(swiotlb_size_or_default() + (8UL << 20), 256UL << 20);
-	} else {
-		/* passed with crashkernel=0,low ? */
-		if (!low_size)
-			return 0;
-	}
-
-	low_base = memblock_phys_alloc_range(low_size, CRASH_ALIGN, 0, CRASH_ADDR_LOW_MAX);
-	if (!low_base) {
-		pr_err("Cannot reserve %ldMB crashkernel low memory, please try smaller size.\n",
-		       (unsigned long)(low_size >> 20));
-		return -ENOMEM;
-	}
-
-	pr_info("Reserving %ldMB of low memory at %ldMB for crashkernel (low RAM limit: %ldMB)\n",
-		(unsigned long)(low_size >> 20),
-		(unsigned long)(low_base >> 20),
-		(unsigned long)(low_mem_limit >> 20));
-
-	crashk_low_res.start = low_base;
-	crashk_low_res.end   = low_base + low_size - 1;
-	insert_resource(&iomem_resource, &crashk_low_res);
-#endif
-	return 0;
-}
-
 static void __init reserve_crashkernel(void)
 {
 	unsigned long long crash_size, crash_base, total_mem, low_size;
@@ -460,51 +414,12 @@ static void __init reserve_crashkernel(void)
 		return;
 	}
 
-	/* 0 means: find the address automatically */
-	if (!crash_base) {
-		/*
-		 * Set CRASH_ADDR_LOW_MAX upper bound for crash memory,
-		 * crashkernel=x,high reserves memory over 4G, also allocates
-		 * 256M extra low memory for DMA buffers and swiotlb.
-		 * But the extra memory is not required for all machines.
-		 * So try low memory first and fall back to high memory
-		 * unless "crashkernel=size[KMG],high" is specified.
-		 */
-		if (!high)
-			crash_base = memblock_phys_alloc_range(crash_size,
-						CRASH_ALIGN, CRASH_ALIGN,
-						CRASH_ADDR_LOW_MAX);
-		if (!crash_base)
-			crash_base = memblock_phys_alloc_range(crash_size,
-						CRASH_ALIGN, CRASH_ALIGN,
-						CRASH_ADDR_HIGH_MAX);
-		if (!crash_base) {
-			pr_info("crashkernel reservation failed - No suitable area found.\n");
-			return;
-		}
-	} else {
-		unsigned long long start;
-
-		start = memblock_phys_alloc_range(crash_size, CRASH_BASE_ALIGN, crash_base,
-						  crash_base + crash_size);
-		if (start != crash_base) {
-			pr_info("crashkernel reservation failed - memory is in use.\n");
-			return;
-		}
-	}
-
-	if (crash_base >= (1ULL << 32) && reserve_crashkernel_low(low_size)) {
-		memblock_phys_free(crash_base, crash_size);
+	ret = reserve_crashkernel_mem(total_mem, crash_size, crash_base, low_size, high);
+	if (ret)
 		return;
-	}
-
-	pr_info("Reserving %ldMB of memory at %ldMB for crashkernel (System RAM: %ldMB)\n",
-		(unsigned long)(crash_size >> 20),
-		(unsigned long)(crash_base >> 20),
-		(unsigned long)(total_mem >> 20));
 
-	crashk_res.start = crash_base;
-	crashk_res.end   = crash_base + crash_size - 1;
+	if (crashk_low_res.end > crashk_low_res.start)
+		insert_resource(&iomem_resource, &crashk_low_res);
 	insert_resource(&iomem_resource, &crashk_res);
 }
 #else
-- 
2.25.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

WARNING: multiple messages have this Message-ID (diff)
From: Zhen Lei <thunder.leizhen@huawei.com>
To: Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
	x86@kernel.org, "H . Peter Anvin" <hpa@zytor.com>,
	linux-kernel@vger.kernel.org, Dave Young <dyoung@redhat.com>,
	Baoquan He <bhe@redhat.com>, Vivek Goyal <vgoyal@redhat.com>,
	Eric Biederman <ebiederm@xmission.com>,
	kexec@lists.infradead.org,
	Catalin Marinas <catalin.marinas@arm.com>,
	Will Deacon <will@kernel.org>,
	linux-arm-kernel@lists.infradead.org,
	Rob Herring <robh+dt@kernel.org>,
	Frank Rowand <frowand.list@gmail.com>,
	devicetree@vger.kernel.org, Jonathan Corbet <corbet@lwn.net>,
	linux-doc@vger.kernel.org
Cc: Zhen Lei <thunder.leizhen@huawei.com>,
	Randy Dunlap <rdunlap@infradead.org>,
	Feng Zhou <zhoufeng.zf@bytedance.com>,
	Kefeng Wang <wangkefeng.wang@huawei.com>,
	Chen Zhou <dingguo.cz@antgroup.com>,
	John Donnelly <John.p.donnelly@oracle.com>
Subject: [PATCH v19 09/13] x86/setup: Use generic reserve_crashkernel_mem[_low]()
Date: Tue, 28 Dec 2021 21:26:08 +0800	[thread overview]
Message-ID: <20211228132612.1860-10-thunder.leizhen@huawei.com> (raw)
In-Reply-To: <20211228132612.1860-1-thunder.leizhen@huawei.com>

Use generic reserve_crashkernel_mem[_low]() to replace arch-specific
reserve_crashkernel_low() and a partial implementation of
reserve_crashkernel(). The only difference is that
"insert_resource(&iomem_resource, &crashk_low_res);" is moved into
reserve_crashkernel(), no functional change.

Signed-off-by: Zhen Lei <thunder.leizhen@huawei.com>
---
 arch/x86/kernel/setup.c | 93 ++---------------------------------------
 1 file changed, 4 insertions(+), 89 deletions(-)

diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
index 22d63dbf5db0a58..ee2606b3b9da662 100644
--- a/arch/x86/kernel/setup.c
+++ b/arch/x86/kernel/setup.c
@@ -391,52 +391,6 @@ static void __init memblock_x86_reserve_range_setup_data(void)
  */
 
 #ifdef CONFIG_KEXEC_CORE
-
-static int __init reserve_crashkernel_low(unsigned long long low_size)
-{
-#ifdef CONFIG_X86_64
-	unsigned long long low_base = 0;
-	unsigned long low_mem_limit;
-
-	low_mem_limit = min(memblock_phys_mem_size(), CRASH_ADDR_LOW_MAX);
-
-	/* crashkernel=Y,low is not specified */
-	if ((long)low_size < 0) {
-		/*
-		 * two parts from kernel/dma/swiotlb.c:
-		 * -swiotlb size: user-specified with swiotlb= or default.
-		 *
-		 * -swiotlb overflow buffer: now hardcoded to 32k. We round it
-		 * to 8M for other buffers that may need to stay low too. Also
-		 * make sure we allocate enough extra low memory so that we
-		 * don't run out of DMA buffers for 32-bit devices.
-		 */
-		low_size = max(swiotlb_size_or_default() + (8UL << 20), 256UL << 20);
-	} else {
-		/* passed with crashkernel=0,low ? */
-		if (!low_size)
-			return 0;
-	}
-
-	low_base = memblock_phys_alloc_range(low_size, CRASH_ALIGN, 0, CRASH_ADDR_LOW_MAX);
-	if (!low_base) {
-		pr_err("Cannot reserve %ldMB crashkernel low memory, please try smaller size.\n",
-		       (unsigned long)(low_size >> 20));
-		return -ENOMEM;
-	}
-
-	pr_info("Reserving %ldMB of low memory at %ldMB for crashkernel (low RAM limit: %ldMB)\n",
-		(unsigned long)(low_size >> 20),
-		(unsigned long)(low_base >> 20),
-		(unsigned long)(low_mem_limit >> 20));
-
-	crashk_low_res.start = low_base;
-	crashk_low_res.end   = low_base + low_size - 1;
-	insert_resource(&iomem_resource, &crashk_low_res);
-#endif
-	return 0;
-}
-
 static void __init reserve_crashkernel(void)
 {
 	unsigned long long crash_size, crash_base, total_mem, low_size;
@@ -460,51 +414,12 @@ static void __init reserve_crashkernel(void)
 		return;
 	}
 
-	/* 0 means: find the address automatically */
-	if (!crash_base) {
-		/*
-		 * Set CRASH_ADDR_LOW_MAX upper bound for crash memory,
-		 * crashkernel=x,high reserves memory over 4G, also allocates
-		 * 256M extra low memory for DMA buffers and swiotlb.
-		 * But the extra memory is not required for all machines.
-		 * So try low memory first and fall back to high memory
-		 * unless "crashkernel=size[KMG],high" is specified.
-		 */
-		if (!high)
-			crash_base = memblock_phys_alloc_range(crash_size,
-						CRASH_ALIGN, CRASH_ALIGN,
-						CRASH_ADDR_LOW_MAX);
-		if (!crash_base)
-			crash_base = memblock_phys_alloc_range(crash_size,
-						CRASH_ALIGN, CRASH_ALIGN,
-						CRASH_ADDR_HIGH_MAX);
-		if (!crash_base) {
-			pr_info("crashkernel reservation failed - No suitable area found.\n");
-			return;
-		}
-	} else {
-		unsigned long long start;
-
-		start = memblock_phys_alloc_range(crash_size, CRASH_BASE_ALIGN, crash_base,
-						  crash_base + crash_size);
-		if (start != crash_base) {
-			pr_info("crashkernel reservation failed - memory is in use.\n");
-			return;
-		}
-	}
-
-	if (crash_base >= (1ULL << 32) && reserve_crashkernel_low(low_size)) {
-		memblock_phys_free(crash_base, crash_size);
+	ret = reserve_crashkernel_mem(total_mem, crash_size, crash_base, low_size, high);
+	if (ret)
 		return;
-	}
-
-	pr_info("Reserving %ldMB of memory at %ldMB for crashkernel (System RAM: %ldMB)\n",
-		(unsigned long)(crash_size >> 20),
-		(unsigned long)(crash_base >> 20),
-		(unsigned long)(total_mem >> 20));
 
-	crashk_res.start = crash_base;
-	crashk_res.end   = crash_base + crash_size - 1;
+	if (crashk_low_res.end > crashk_low_res.start)
+		insert_resource(&iomem_resource, &crashk_low_res);
 	insert_resource(&iomem_resource, &crashk_res);
 }
 #else
-- 
2.25.1


_______________________________________________
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec

  parent reply	other threads:[~2021-12-28 13:29 UTC|newest]

Thread overview: 126+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-12-28 13:25 [PATCH v19 00/13] support reserving crashkernel above 4G on arm64 kdump Zhen Lei
2021-12-28 13:25 ` Zhen Lei
2021-12-28 13:25 ` Zhen Lei
2021-12-28 13:26 ` [PATCH v19 01/13] kdump: add helper parse_crashkernel_high_low() Zhen Lei
2021-12-28 13:26   ` Zhen Lei
2021-12-28 13:26   ` Zhen Lei
2021-12-30 10:14   ` Leizhen (ThunderTown)
2021-12-30 10:14     ` Leizhen (ThunderTown)
2021-12-30 10:14     ` Leizhen (ThunderTown)
2021-12-30 10:40     ` Borislav Petkov
2021-12-30 10:40       ` Borislav Petkov
2021-12-30 10:40       ` Borislav Petkov
2021-12-30 11:08       ` Leizhen (ThunderTown)
2021-12-30 11:08         ` Leizhen (ThunderTown)
2021-12-30 11:08         ` Leizhen (ThunderTown)
2021-12-31  9:22         ` Leizhen (ThunderTown)
2021-12-31  9:22           ` Leizhen (ThunderTown)
2021-12-31  9:22           ` Leizhen (ThunderTown)
2021-12-31 12:29           ` Leizhen (ThunderTown)
2021-12-31 12:29             ` Leizhen (ThunderTown)
2021-12-31 12:29             ` Leizhen (ThunderTown)
2022-01-11 15:03   ` john.p.donnelly
2022-01-11 15:03     ` john.p.donnelly
2022-01-11 15:03     ` john.p.donnelly
2021-12-28 13:26 ` [PATCH v19 02/13] x86/setup: Use parse_crashkernel_high_low() to simplify code Zhen Lei
2021-12-28 13:26   ` Zhen Lei
2021-12-28 13:26   ` Zhen Lei
2021-12-28 16:13   ` Borislav Petkov
2021-12-28 16:13     ` Borislav Petkov
2021-12-28 16:13     ` Borislav Petkov
2021-12-29  2:27     ` Leizhen (ThunderTown)
2021-12-29  2:27       ` Leizhen (ThunderTown)
2021-12-29  2:27       ` Leizhen (ThunderTown)
2021-12-29  7:27       ` Dave Young
2021-12-29  7:27         ` Dave Young
2021-12-29  7:27         ` Dave Young
2021-12-29  7:45         ` Dave Young
2021-12-29  7:45           ` Dave Young
2021-12-29  7:45           ` Dave Young
2021-12-29 10:11           ` Borislav Petkov
2021-12-29 10:11             ` Borislav Petkov
2021-12-29 10:11             ` Borislav Petkov
2021-12-29 10:38             ` Dave Young
2021-12-29 10:38               ` Dave Young
2021-12-29 10:38               ` Dave Young
2021-12-29 11:11               ` Borislav Petkov
2021-12-29 11:11                 ` Borislav Petkov
2021-12-29 11:11                 ` Borislav Petkov
2021-12-29 14:13               ` Leizhen (ThunderTown)
2021-12-29 14:13                 ` Leizhen (ThunderTown)
2021-12-29 14:13                 ` Leizhen (ThunderTown)
2021-12-29 10:03         ` Borislav Petkov
2021-12-29 10:03           ` Borislav Petkov
2021-12-29 10:03           ` Borislav Petkov
2021-12-29 10:46           ` Dave Young
2021-12-29 10:46             ` Dave Young
2021-12-29 10:46             ` Dave Young
2021-12-29 15:04             ` Leizhen (ThunderTown)
2021-12-29 15:04               ` Leizhen (ThunderTown)
2021-12-29 15:04               ` Leizhen (ThunderTown)
2021-12-29 16:51               ` Borislav Petkov
2021-12-29 16:51                 ` Borislav Petkov
2021-12-29 16:51                 ` Borislav Petkov
2021-12-30  2:39                 ` Leizhen (ThunderTown)
2021-12-30  2:39                   ` Leizhen (ThunderTown)
2021-12-30  2:39                   ` Leizhen (ThunderTown)
2021-12-30  8:56                   ` Leizhen (ThunderTown)
2021-12-30  8:56                     ` Leizhen (ThunderTown)
2021-12-30  8:56                     ` Leizhen (ThunderTown)
2021-12-29 12:19         ` Leizhen (ThunderTown)
2021-12-29 12:19           ` Leizhen (ThunderTown)
2021-12-29 12:19           ` Leizhen (ThunderTown)
2022-01-11 15:04   ` john.p.donnelly
2022-01-11 15:04     ` john.p.donnelly
2022-01-11 15:04     ` john.p.donnelly
2021-12-28 13:26 ` [PATCH v19 03/13] kdump: make parse_crashkernel_{high|low}() static Zhen Lei
2021-12-28 13:26   ` Zhen Lei
2021-12-28 13:26   ` Zhen Lei
2022-01-11 15:04   ` john.p.donnelly
2022-01-11 15:04     ` john.p.donnelly
2022-01-11 15:04     ` john.p.donnelly
2021-12-28 13:26 ` [PATCH v19 04/13] kdump: reduce unnecessary parameters of parse_crashkernel_{high|low}() Zhen Lei
2021-12-28 13:26   ` Zhen Lei
2021-12-28 13:26   ` Zhen Lei
2022-01-11 15:05   ` john.p.donnelly
2022-01-11 15:05     ` john.p.donnelly
2022-01-11 15:05     ` john.p.donnelly
2021-12-28 13:26 ` [PATCH v19 05/13] x86/setup: Add and use CRASH_BASE_ALIGN Zhen Lei
2021-12-28 13:26   ` Zhen Lei
2021-12-28 13:26   ` Zhen Lei
2022-01-11 15:06   ` john.p.donnelly
2022-01-11 15:06     ` john.p.donnelly
2022-01-11 15:06     ` john.p.donnelly
2021-12-28 13:26 ` [PATCH v19 06/13] kexec: move crashk[_low]_res to crash_core module Zhen Lei
2021-12-28 13:26   ` Zhen Lei
2021-12-28 13:26   ` Zhen Lei
2022-01-11 15:06   ` john.p.donnelly
2022-01-11 15:06     ` john.p.donnelly
2022-01-11 15:06     ` john.p.donnelly
2021-12-28 13:26 ` [PATCH v19 07/13] kdump: Add helper reserve_crashkernel_mem[_low]() Zhen Lei
2021-12-28 13:26   ` Zhen Lei
2021-12-28 13:26   ` Zhen Lei
2021-12-28 13:26 ` [PATCH v19 08/13] x86/setup: Move CRASH[_BASE]_ALIGN and CRASH_ADDR_{LOW|HIGH}_MAX to asm/kexec.h Zhen Lei
2021-12-28 13:26   ` Zhen Lei
2021-12-28 13:26   ` Zhen Lei
2021-12-28 13:26 ` Zhen Lei [this message]
2021-12-28 13:26   ` [PATCH v19 09/13] x86/setup: Use generic reserve_crashkernel_mem[_low]() Zhen Lei
2021-12-28 13:26   ` Zhen Lei
2021-12-28 13:26 ` [PATCH v19 10/13] arm64: kdump: introduce some macros for crash kernel reservation Zhen Lei
2021-12-28 13:26   ` Zhen Lei
2021-12-28 13:26   ` Zhen Lei
2021-12-28 13:26 ` [PATCH v19 11/13] arm64: kdump: reimplement crashkernel=X Zhen Lei
2021-12-28 13:26   ` Zhen Lei
2021-12-28 13:26   ` Zhen Lei
2022-01-12 14:45   ` Dave Kleikamp
2022-01-12 14:45     ` Dave Kleikamp
2022-01-12 14:45     ` Dave Kleikamp
2022-01-13  1:17     ` Leizhen (ThunderTown)
2022-01-13  1:17       ` Leizhen
2022-01-13  1:17       ` Leizhen (ThunderTown)
2021-12-28 13:26 ` [PATCH v19 12/13] of: fdt: Add memory for devices by DT property "linux,usable-memory-range" Zhen Lei
2021-12-28 13:26   ` [PATCH v19 12/13] of: fdt: Add memory for devices by DT property "linux, usable-memory-range" Zhen Lei
2021-12-28 13:26   ` Zhen Lei
2021-12-28 13:26 ` [PATCH v19 13/13] kdump: update Documentation about crashkernel Zhen Lei
2021-12-28 13:26   ` Zhen Lei
2021-12-28 13:26   ` Zhen Lei

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20211228132612.1860-10-thunder.leizhen@huawei.com \
    --to=thunder.leizhen@huawei.com \
    --cc=John.p.donnelly@oracle.com \
    --cc=bhe@redhat.com \
    --cc=bp@alien8.de \
    --cc=catalin.marinas@arm.com \
    --cc=corbet@lwn.net \
    --cc=devicetree@vger.kernel.org \
    --cc=dingguo.cz@antgroup.com \
    --cc=dyoung@redhat.com \
    --cc=ebiederm@xmission.com \
    --cc=frowand.list@gmail.com \
    --cc=hpa@zytor.com \
    --cc=kexec@lists.infradead.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=rdunlap@infradead.org \
    --cc=robh+dt@kernel.org \
    --cc=tglx@linutronix.de \
    --cc=vgoyal@redhat.com \
    --cc=wangkefeng.wang@huawei.com \
    --cc=will@kernel.org \
    --cc=x86@kernel.org \
    --cc=zhoufeng.zf@bytedance.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.