a8523f55a8
With the introduction of kernel commit c6c5b14dac0d ("powerpc: make fadump resilient with memory add/remove events") linux kernel now internally manages the update of elfcorehdr during memory add/remove events. So no need to re-register fadump if the /sys/kernel/fadump/hotplug_ready is set to 1. No impact for kernels that do not have /sys/kernel/fadump/hotplug_ready sysfs. Relevant kernel commit links: 1. https://msgid.link/20240422195932.1583833-2-sourabhjain@linux.ibm.com 2. https://msgid.link/20240422195932.1583833-3-sourabhjain@linux.ibm.com Signed-off-by: Sourabh Jain <sourabhjain@linux.ibm.com>
29 lines
1.3 KiB
Plaintext
29 lines
1.3 KiB
Plaintext
# The kernel updates the crash elfcorehdr for CPU and memory changes
|
|
SUBSYSTEM=="cpu", ATTRS{crash_hotplug}=="1", GOTO="kdump_reload_end"
|
|
SUBSYSTEM=="memory", ATTRS{crash_hotplug}=="1", GOTO="kdump_reload_end"
|
|
|
|
SUBSYSTEM=="cpu", ACTION=="online", GOTO="kdump_reload_cpu"
|
|
SUBSYSTEM=="memory", ACTION=="online", GOTO="kdump_reload_mem"
|
|
SUBSYSTEM=="memory", ACTION=="offline", GOTO="kdump_reload_mem"
|
|
|
|
GOTO="kdump_reload_end"
|
|
|
|
# If kdump is not loaded, calling kdump-udev-throttle will end up
|
|
# doing nothing, but systemd-run will always generate extra logs for
|
|
# each call, so trigger the kdump-udev-throttler only if kdump
|
|
# service is active to avoid unnecessary logs
|
|
|
|
LABEL="kdump_reload_mem"
|
|
|
|
# Don't re-register fadump if /sys/kernel/fadump/hotplug_ready sysfs is set to 1.
|
|
|
|
RUN+="/bin/sh -c '/usr/bin/systemctl is-active kdump.service || exit 0; ! test -f /sys/kernel/fadump/hotplug_ready || cat /sys/kernel/fadump/hotplug_ready | grep 1 || exit 0; /usr/bin/systemd-run --quiet --no-block /usr/lib/udev/kdump-udev-throttler'"
|
|
|
|
GOTO="kdump_reload_end"
|
|
|
|
LABEL="kdump_reload_cpu"
|
|
|
|
RUN+="/bin/sh -c '/usr/bin/systemctl is-active kdump.service || exit 0; ! test -f /sys/kernel/fadump/enabled || cat /sys/kernel/fadump/enabled | grep 0 || exit 0; /usr/bin/systemd-run --quiet --no-block /usr/lib/udev/kdump-udev-throttler'"
|
|
|
|
LABEL="kdump_reload_end"
|