[PATCH v5 20/31] powerpc/fadump: use smaller offset while finding memory for reservation
Michael Ellerman
mpe at ellerman.id.au
Wed Sep 4 21:54:41 AEST 2019
Hari Bathini <hbathini at linux.ibm.com> writes:
> diff --git a/arch/powerpc/kernel/fadump-common.h b/arch/powerpc/kernel/fadump-common.h
> index d2dd117..7107cf2 100644
> --- a/arch/powerpc/kernel/fadump-common.h
> +++ b/arch/powerpc/kernel/fadump-common.h
> @@ -66,6 +66,14 @@ static inline u64 fadump_str_to_u64(const char *str)
>
> #define FADUMP_CRASH_INFO_MAGIC fadump_str_to_u64("FADMPINF")
>
> +/*
> + * Amount of memory (1024MB) to skip before making another attempt at
> + * reserving memory (after the previous attempt to reserve memory for
> + * FADump failed due to memory holes and/or reserved ranges) to reduce
> + * the likelihood of memory reservation failure.
> + */
> +#define FADUMP_OFFSET_SIZE 0x40000000U
This seems like a bit of a hack.
> diff --git a/arch/powerpc/kernel/fadump.c b/arch/powerpc/kernel/fadump.c
> index 971c50d..8dd2dcc 100644
> --- a/arch/powerpc/kernel/fadump.c
> +++ b/arch/powerpc/kernel/fadump.c
> @@ -371,7 +371,7 @@ int __init fadump_reserve_mem(void)
> !memblock_is_region_reserved(base, size))
> break;
>
> - base += size;
> + base += FADUMP_OFFSET_SIZE;
> }
The comment above the loop says:
/*
* Reserve memory at an offset closer to bottom of the RAM to
* minimize the impact of memory hot-remove operation. We can't
* use memblock_find_in_range() here since it doesn't allocate
* from bottom to top.
*/
Is that true? Can't we set memblock to bottom up mode and then call it?
cheers
More information about the Linuxppc-dev
mailing list