| From: Baoquan He <bhe@redhat.com> |
| Subject: crash: clean up kdump related config items |
| Date: Wed, 24 Jan 2024 13:12:45 +0800 |
| |
| 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 --| |
| |
| Link: https://lkml.kernel.org/r/20240124051254.67105-6-bhe@redhat.com |
| Signed-off-by: Baoquan He <bhe@redhat.com> |
| Cc: Al Viro <viro@zeniv.linux.org.uk> |
| Cc: Eric W. Biederman <ebiederm@xmission.com> |
| Cc: Hari Bathini <hbathini@linux.ibm.com> |
| Cc: Pingfan Liu <piliu@redhat.com> |
| Cc: Klara Modin <klarasmodin@gmail.com> |
| Cc: Michael Kelley <mhklinux@outlook.com> |
| Cc: Nathan Chancellor <nathan@kernel.org> |
| Cc: Stephen Rothwell <sfr@canb.auug.org.au> |
| Cc: Yang Li <yang.lee@linux.alibaba.com> |
| Signed-off-by: Andrew Morton <akpm@linux-foundation.org> |
| --- |
| |
| kernel/Kconfig.kexec | 7 ++++--- |
| 1 file changed, 4 insertions(+), 3 deletions(-) |
| |
| --- a/kernel/Kconfig.kexec~crash-clean-up-kdump-related-config-items |
| +++ a/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 |
| _ |