diff mbox series

efi: Disable mirror feature during crashkernel

Message ID 20240109041536.3903042-1-mawupeng1@huawei.com (mailing list archive)
State New
Headers show
Series efi: Disable mirror feature during crashkernel | expand

Commit Message

mawupeng Jan. 9, 2024, 4:15 a.m. UTC
From: Ma Wupeng <mawupeng1@huawei.com>

If system have no mirrored memory or use crashkernel.high while
kernelcore=mirror is enabled in cmdline, during crashkernel,
there will be limited mirrored memory and this usually lead to
OOM.

To solve this problem, disable mirror feature during crashkernel.

Signed-off-by: Ma Wupeng <mawupeng1@huawei.com>
---
 mm/mm_init.c | 6 ++++++
 1 file changed, 6 insertions(+)

Comments

Mike Rapoport Jan. 9, 2024, 6:05 a.m. UTC | #1
On Tue, Jan 09, 2024 at 12:15:36PM +0800, Wupeng Ma wrote:
> From: Ma Wupeng <mawupeng1@huawei.com>
> 
> If system have no mirrored memory or use crashkernel.high while
> kernelcore=mirror is enabled in cmdline, during crashkernel,
> there will be limited mirrored memory and this usually lead to
> OOM.
> 
> To solve this problem, disable mirror feature during crashkernel.
> 
> Signed-off-by: Ma Wupeng <mawupeng1@huawei.com>

Acked-by: Mike Rapoport (IBM) <rppt@kernel.org>

> ---
>  mm/mm_init.c | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/mm/mm_init.c b/mm/mm_init.c
> index 077bfe393b5e..513bad672708 100644
> --- a/mm/mm_init.c
> +++ b/mm/mm_init.c
> @@ -26,6 +26,7 @@
>  #include <linux/pgtable.h>
>  #include <linux/swap.h>
>  #include <linux/cma.h>
> +#include <linux/crash_dump.h>
>  #include "internal.h"
>  #include "slab.h"
>  #include "shuffle.h"
> @@ -381,6 +382,11 @@ static void __init find_zone_movable_pfns_for_nodes(void)
>  			goto out;
>  		}
>  
> +		if (is_kdump_kernel()) {
> +			pr_warn("The system is under kdump, ignore kernelcore=mirror.\n");
> +			goto out;
> +		}
> +
>  		for_each_mem_region(r) {
>  			if (memblock_is_mirror(r))
>  				continue;
> -- 
> 2.25.1
>
diff mbox series

Patch

diff --git a/mm/mm_init.c b/mm/mm_init.c
index 077bfe393b5e..513bad672708 100644
--- a/mm/mm_init.c
+++ b/mm/mm_init.c
@@ -26,6 +26,7 @@ 
 #include <linux/pgtable.h>
 #include <linux/swap.h>
 #include <linux/cma.h>
+#include <linux/crash_dump.h>
 #include "internal.h"
 #include "slab.h"
 #include "shuffle.h"
@@ -381,6 +382,11 @@  static void __init find_zone_movable_pfns_for_nodes(void)
 			goto out;
 		}
 
+		if (is_kdump_kernel()) {
+			pr_warn("The system is under kdump, ignore kernelcore=mirror.\n");
+			goto out;
+		}
+
 		for_each_mem_region(r) {
 			if (memblock_is_mirror(r))
 				continue;