[PATCH] powerpc/fadump: sysfs for fadump memory reservation
Sourabh Jain
sourabhjain at linux.ibm.com
Thu Aug 8 15:43:44 AEST 2019
On 8/7/19 8:40 AM, Michael Ellerman wrote:
> Sourabh Jain <sourabhjain at linux.ibm.com> writes:
>> Add a sys interface to allow querying the memory reserved by fadump
>> for saving the crash dump.
>>
>> Signed-off-by: Sourabh Jain <sourabhjain at linux.ibm.com>
>> ---
>> Documentation/powerpc/firmware-assisted-dump.rst | 5 +++++
>> arch/powerpc/kernel/fadump.c | 14 ++++++++++++++
>> 2 files changed, 19 insertions(+)
>>
>> diff --git a/Documentation/powerpc/firmware-assisted-dump.rst b/Documentation/powerpc/firmware-assisted-dump.rst
>> index 9ca12830a48e..4a7f6dc556f5 100644
>> --- a/Documentation/powerpc/firmware-assisted-dump.rst
>> +++ b/Documentation/powerpc/firmware-assisted-dump.rst
>> @@ -222,6 +222,11 @@ Here is the list of files under kernel sysfs:
>> be handled and vmcore will not be captured. This interface can be
>> easily integrated with kdump service start/stop.
>>
>> +/sys/kernel/fadump_mem_reserved
>> +
>> + This is used to display the memory reserved by fadump for saving the
>> + crash dump.
>> +
>> /sys/kernel/fadump_release_mem
>> This file is available only when fadump is active during
>> second kernel. This is used to release the reserved memory
>
> Dumping these in /sys/kernel is pretty gross, but I guess that ship has
> sailed.
>
> But please add it to Documentation/ABI, and Cc the appropriate lists/people.
Sure, I will write the ABI documentation and will send the next version.
>
> cheers
>
>> diff --git a/arch/powerpc/kernel/fadump.c b/arch/powerpc/kernel/fadump.c
>> index 4eab97292cc2..70d49013ebec 100644
>> --- a/arch/powerpc/kernel/fadump.c
>> +++ b/arch/powerpc/kernel/fadump.c
>> @@ -1514,6 +1514,13 @@ static ssize_t fadump_enabled_show(struct kobject *kobj,
>> return sprintf(buf, "%d\n", fw_dump.fadump_enabled);
>> }
>>
>> +static ssize_t fadump_mem_reserved_show(struct kobject *kobj,
>> + struct kobj_attribute *attr,
>> + char *buf)
>> +{
>> + return sprintf(buf, "%ld\n", fw_dump.reserve_dump_area_size);
>> +}
>> +
>> static ssize_t fadump_register_show(struct kobject *kobj,
>> struct kobj_attribute *attr,
>> char *buf)
>> @@ -1632,6 +1639,9 @@ static struct kobj_attribute fadump_attr = __ATTR(fadump_enabled,
>> static struct kobj_attribute fadump_register_attr = __ATTR(fadump_registered,
>> 0644, fadump_register_show,
>> fadump_register_store);
>> +static struct kobj_attribute fadump_mem_reserved_attr =
>> + __ATTR(fadump_mem_reserved, 0444,
>> + fadump_mem_reserved_show, NULL);
>>
>> DEFINE_SHOW_ATTRIBUTE(fadump_region);
>>
>> @@ -1663,6 +1673,10 @@ static void fadump_init_files(void)
>> printk(KERN_ERR "fadump: unable to create sysfs file"
>> " fadump_release_mem (%d)\n", rc);
>> }
>> + rc = sysfs_create_file(kernel_kobj, &fadump_mem_reserved_attr.attr);
>> + if (rc)
>> + pr_err("unable to create sysfs file fadump_mem_reserved (%d)\n",
>> + rc);
>> return;
>> }
>>
>> --
>> 2.17.2
More information about the Linuxppc-dev
mailing list