[PATCH v3 1/5] crash: move crashkernel parsing and vmcore related code under CONFIG_CRASH_CORE
Hari Bathini
hbathini at linux.vnet.ibm.com
Thu Jan 5 09:42:41 PST 2017
Hi Dave,
On Thursday 05 January 2017 11:47 AM, Dave Young wrote:
> Hi, Hari
>
> On 01/02/17 at 07:43pm, Hari Bathini wrote:
>> Traditionally, kdump is used to save vmcore in case of a crash. Some
>> architectures like powerpc can save vmcore using architecture specific
>> support instead of kexec/kdump mechanism. Such architecture specific
>> support also needs to reserve memory, to be used by dump capture kernel.
>> crashkernel parameter can be a reused, for memory reservation, by such
>> architecture specific infrastructure.
>>
>> But currently, code related to vmcoreinfo and parsing of crashkernel
>> parameter is built under CONFIG_KEXEC_CORE. This patch introduces
>> CONFIG_CRASH_CORE and moves the above mentioned code under this config,
>> allowing code reuse without dependency on CONFIG_KEXEC. There is no
>> functional change with this patch.
>>
>> Signed-off-by: Hari Bathini <hbathini at linux.vnet.ibm.com>
>> ---
>>
>> Changes from v2:
>> * Used CONFIG_CRASH_CORE instead of CONFIG_KEXEC_CORE at
>> appropriate places in printk and ksysfs.
>>
>>
>> arch/Kconfig | 4
>> include/linux/crash_core.h | 65 ++++++
>> include/linux/kexec.h | 57 ------
>> include/linux/printk.h | 4
>> kernel/Makefile | 1
>> kernel/crash_core.c | 445 ++++++++++++++++++++++++++++++++++++++++++++
>> kernel/kexec_core.c | 404 ----------------------------------------
>> kernel/ksysfs.c | 8 +
>> kernel/printk/printk.c | 6 -
>> 9 files changed, 531 insertions(+), 463 deletions(-)
>> create mode 100644 include/linux/crash_core.h
>> create mode 100644 kernel/crash_core.c
>>
> [snip]
>
>> #ifndef CONFIG_TINY_RCU
>> diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c
>> index 8b26964..d0dfebd 100644
>> --- a/kernel/printk/printk.c
>> +++ b/kernel/printk/printk.c
>> @@ -32,7 +32,7 @@
>> #include <linux/bootmem.h>
>> #include <linux/memblock.h>
>> #include <linux/syscalls.h>
>> -#include <linux/kexec.h>
>> +#include <linux/crash_core.h>
>> #include <linux/kdb.h>
>> #include <linux/ratelimit.h>
>> #include <linux/kmsg_dump.h>
>> @@ -951,7 +951,7 @@ const struct file_operations kmsg_fops = {
>> .release = devkmsg_release,
>> };
>>
>> -#ifdef CONFIG_KEXEC_CORE
>> +#ifdef CONFIG_CRASH_CORE
>> /*
>> * This appends the listed symbols to /proc/vmcore
>> *
>> @@ -960,7 +960,7 @@ const struct file_operations kmsg_fops = {
>> * symbols are specifically used so that utilities can access and extract the
>> * dmesg log from a vmcore file after a crash.
>> */
>> -void log_buf_kexec_setup(void)
>> +void log_buf_crash_setup(void)
> I can not think of any better name about the CONFIG_CRASH_CORE though I
> feel it is not excellent so personally I can live with it.
>
> But for this function name log_buf_crash_setup is too general, I can not get
> what it is doing from the name, how about change it to log_buf_vmcoreinfo_setup
log_buf_vmcoreinfo_setup is appropriate. Also dropped hard-coded values
for DIV_ROUND_UP().
Posted v4 with these changes..
Thanks
Hari
More information about the kexec
mailing list