[PATCH v4 0/5] kexec: reorganize sysfs interface and add new kexec sysfs

Sourabh Jain posted 5 patches 1 month ago
.../ABI/obsolete/sysfs-kernel-kexec-kdump     |  59 ++++++++
.../ABI/testing/sysfs-kernel-kexec-kdump      |  61 ++++++++
kernel/kexec_core.c                           | 135 ++++++++++++++++++
kernel/ksysfs.c                               |  68 +--------
4 files changed, 256 insertions(+), 67 deletions(-)
create mode 100644 Documentation/ABI/obsolete/sysfs-kernel-kexec-kdump
create mode 100644 Documentation/ABI/testing/sysfs-kernel-kexec-kdump
[PATCH v4 0/5] kexec: reorganize sysfs interface and add new kexec sysfs
Posted by Sourabh Jain 1 month ago
All existing kexec and kdump sysfs entries are moved to a new location,
/sys/kernel/kexec, to keep /sys/kernel/ clean and better organized.
Symlinks are created at the old locations for backward compatibility and
can be removed in the future [02/05].

While doing this cleanup, missing ABI documentation for the old sysfs
interfaces is added, and those entries are marked as deprecated
[01/05 and 03/05]. New ABI documentation is also added for the
reorganized interfaces. [04/05]

Along with this reorganization, a new sysfs file,
/sys/kernel/kexec/crash_cma_ranges, is introduced to export crashkernel
CMA reservation details to user space [05/05]. This helps tools
determine the total crashkernel reserved memory and warn users that
capturing user pages while CMA is reserved may cause incomplete or
unreliable dumps.

Changlog:
---------

v2 -> v3:
 - Add the missing hunk to export crash_cma_ranges sysfs [05/05]
 - Declare kexec_kobj static [02/05]

 v3 -> v4:
 - Update the commit log of [05/05] to explain why Crash CMA Ranges
   are not exported to /proc/iomem.

Cc: Aditya Gupta <adityag@linux.ibm.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Baoquan he <bhe@redhat.com>
Cc: Dave Young <dyoung@redhat.com>
Cc: Hari Bathini <hbathini@linux.ibm.com>
Cc: Jiri Bohac <jbohac@suse.cz>
Cc: Madhavan Srinivasan <maddy@linux.ibm.com>
Cc: Mahesh J Salgaonkar <mahesh@linux.ibm.com>
Cc: Pingfan Liu <piliu@redhat.com>
Cc: Ritesh Harjani (IBM) <ritesh.list@gmail.com>
Cc: Shivang Upadhyay <shivangu@linux.ibm.com>
Cc: Sourabh Jain <sourabhjains@linux.ibm.com>
Cc: Vivek Goyal <vgoyal@redhat.com>
Cc: linuxppc-dev@lists.ozlabs.org
Cc: kexec@lists.infradea

Sourabh Jain (5):
  Documentation/ABI: add kexec and kdump sysfs interface
  kexec: move sysfs entries to /sys/kernel/kexec
  Documentation/ABI: mark old kexec sysfs deprecated
  kexec: document new kexec and kdump sysfs ABIs
  crash: export crashkernel CMA reservation to userspace

 .../ABI/obsolete/sysfs-kernel-kexec-kdump     |  59 ++++++++
 .../ABI/testing/sysfs-kernel-kexec-kdump      |  61 ++++++++
 kernel/kexec_core.c                           | 135 ++++++++++++++++++
 kernel/ksysfs.c                               |  68 +--------
 4 files changed, 256 insertions(+), 67 deletions(-)
 create mode 100644 Documentation/ABI/obsolete/sysfs-kernel-kexec-kdump
 create mode 100644 Documentation/ABI/testing/sysfs-kernel-kexec-kdump

-- 
2.51.1
Re: [PATCH v4 0/5] kexec: reorganize sysfs interface and add new kexec sysfs
Posted by Andrew Morton 1 month ago
On Fri, 14 Nov 2025 10:44:59 +0530 Sourabh Jain <sourabhjain@linux.ibm.com> wrote:

> All existing kexec and kdump sysfs entries are moved to a new location,
> /sys/kernel/kexec, to keep /sys/kernel/ clean and better organized.
> Symlinks are created at the old locations for backward compatibility and
> can be removed in the future [02/05].
> 
> While doing this cleanup, missing ABI documentation for the old sysfs
> interfaces is added, and those entries are marked as deprecated
> [01/05 and 03/05]. New ABI documentation is also added for the
> reorganized interfaces. [04/05]
> 
> Along with this reorganization, a new sysfs file,
> /sys/kernel/kexec/crash_cma_ranges, is introduced to export crashkernel
> CMA reservation details to user space [05/05]. This helps tools
> determine the total crashkernel reserved memory and warn users that
> capturing user pages while CMA is reserved may cause incomplete or
> unreliable dumps.

Patchset does three unrelated things in remarkably random order.

1: Document existing stuff

	Great, thanks, in it goes.

2: export crashkernel CMA reservation to userspace

	Well, OK, probably reasonable, didn't look closely.

3: Alter longstanding userspace ABI with deprecation plan

	Whoa, tricky, needs careful consideration.


So can we please prepare and consider this material in three separate
patchsets?  In the above order, I suggest.
Re: [PATCH v4 0/5] kexec: reorganize sysfs interface and add new kexec sysfs
Posted by Sourabh Jain 1 month ago

On 15/11/25 04:55, Andrew Morton wrote:
> On Fri, 14 Nov 2025 10:44:59 +0530 Sourabh Jain <sourabhjain@linux.ibm.com> wrote:
>
>> All existing kexec and kdump sysfs entries are moved to a new location,
>> /sys/kernel/kexec, to keep /sys/kernel/ clean and better organized.
>> Symlinks are created at the old locations for backward compatibility and
>> can be removed in the future [02/05].
>>
>> While doing this cleanup, missing ABI documentation for the old sysfs
>> interfaces is added, and those entries are marked as deprecated
>> [01/05 and 03/05]. New ABI documentation is also added for the
>> reorganized interfaces. [04/05]
>>
>> Along with this reorganization, a new sysfs file,
>> /sys/kernel/kexec/crash_cma_ranges, is introduced to export crashkernel
>> CMA reservation details to user space [05/05]. This helps tools
>> determine the total crashkernel reserved memory and warn users that
>> capturing user pages while CMA is reserved may cause incomplete or
>> unreliable dumps.
> Patchset does three unrelated things in remarkably random order.
>
> 1: Document existing stuff
>
> 	Great, thanks, in it goes.
>
> 2: export crashkernel CMA reservation to userspace
>
> 	Well, OK, probably reasonable, didn't look closely.
>
> 3: Alter longstanding userspace ABI with deprecation plan
>
> 	Whoa, tricky, needs careful consideration.
>
>
> So can we please prepare and consider this material in three separate
> patchsets?  In the above order, I suggest.

Yeah sure.

The question here is where to add the new CMA reservation sysfs.
Should I place it under /sys/kernel/ or create /sys/kernel/kexec and
add it there?

Since I am proposing that all kexec sysfs entries move to the new
location /sys/kernel/kexec, I am going to add the CMA reservation
sysfs under /sys/kernel/kexec to avoid creating a symlink for this
entry later in my third patch series.

- Sourabh