Re: [PATCH linux-next v3 05/14] crash: clean up kdump related config items

John Paul Adrian Glaubitz
2024-08-22T07:34:09Z

Hi Baoquan,

On Wed, 2024-01-24 at 13:12 +0800, Baoquan He wrote:
> By splitting CRASH_RESERVE and VMCORE_INFO out from CRASH_CORE, cleaning
> up the dependency of FA_DMUMP on CRASH_DUMP, and moving crash codes from
> kexec_core.c to crash_core.c, now we can rearrange CRASH_DUMP to
> depend on KEXEC_CORE, and make CRASH_DUMP select CRASH_RESERVE and
> VMCORE_INFO.
>
> KEXEC_CORE won't select CRASH_RESERVE and VMCORE_INFO any more because
> KEXEC_CORE enables codes which allocate control pages, copy
> kexec/kdump segments, and prepare for switching. These codes are shared
> by both kexec reboot and crash dumping.
>
> Doing this makes codes and the corresponding config items more
> logical (the right item depends on or is selected by the left item).
>
> PROC_KCORE -----------> VMCORE_INFO
>
> |----------> VMCORE_INFO
> FA_DUMP----|
> |----------> CRASH_RESERVE
>
> ---->VMCORE_INFO
> /
> |---->CRASH_RESERVE
> KEXEC --| /|
> |--> KEXEC_CORE--> CRASH_DUMP-->/-|---->PROC_VMCORE
> KEXEC_FILE --| \ |
> \---->CRASH_HOTPLUG
>
> KEXEC --|
> |--> KEXEC_CORE--> kexec reboot
> KEXEC_FILE --|
>
> Signed-off-by: Baoquan He <bhe@redhat.com>
> ---
> kernel/Kconfig.kexec | 7 ++++---
> 1 file changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/kernel/Kconfig.kexec b/kernel/Kconfig.kexec
> index 8faf27043432..6c34e63c88ff 100644
> --- a/kernel/Kconfig.kexec
> +++ b/kernel/Kconfig.kexec
> @@ -9,8 +9,6 @@ config VMCORE_INFO
> bool
>
> config KEXEC_CORE
> - select VMCORE_INFO
> - select CRASH_RESERVE
> bool
>
> config KEXEC_ELF
> @@ -99,8 +97,11 @@ config KEXEC_JUMP
>
> config CRASH_DUMP
> bool "kernel crash dumps"
> + default y
> depends on ARCH_SUPPORTS_CRASH_DUMP
> - select KEXEC_CORE
> + depends on KEXEC_CORE
> + select VMCORE_INFO
> + select CRASH_RESERVE
> help
> Generate crash dump after being started by kexec.
> This should be normally only set in special crash dump kernels

The change to enable CONFIG_CRASH_DUMP by default apparently broke the boot
on 32-bit Power Macintosh systems which fail after GRUB with:

"Error: You can't boot a kdump kernel from OF!"

We may have to turn this off for 32-bit Power Macintosh systems.

See this thread on debian-powerpc ML: https://lists.debian.org/debian-powerpc/2024/07/msg00001.html

Thanks,
Adrian

--
.''`. John Paul Adrian Glaubitz
: :' : Debian Developer
`. `' Physicist
`- GPG: 62FF 8A75 84E0 2956 9546 0006 7426 3B37 F5B5 F913