[kexec-tools/f19] kexec-tools.spec: removes kexec udev rules for s390
Baoquan He
baoquan at fedoraproject.org
Thu Jun 6 07:08:55 UTC 2013
commit adaa62daa64c2414a27055912aa75eab61556a01
Author: Baoquan He <bhe at redhat.com>
Date: Thu May 30 10:33:57 2013 +0800
kexec-tools.spec: removes kexec udev rules for s390
Currenty the kexec-tools package contains udev rules for kdump
that reload kdump in case of memory or CPU hotplug:
$ cat /etc/udev/rules.d/98-kexec.rules
SUBSYSTESUBSYSTEM=="cpu", ACTION=="online", PROGRAM="/bin/systemctl try-restart kdump.service"
SUBSYSTEM=="cpu", ACTION=="offline", PROGRAM="/bin/systemctl try-restart kdump.service"
SUBSYSTEM=="memory", ACTION=="add", PROGRAM="/bin/systemctl try-restart kdump.service"
SUBSYSTEM=="memory", ACTION=="remove", PROGRAM="/bin/systemctl try-restart kdump.service"
On other architectures the rules are necessary because the memory
and CPU layout stored in the kdump in-memory ELF header at kdump
load time. Therefore the kdump kernel has to be reloaded each
time when the CPU or memory configuration changes.
This has drawbacks:
1. During kdump reload the system can't be dumped.
2. On systems with many hotplug events (e.g. on s390 with cpuplugd)
this creates significant overhead
The reload is not necessary on s390 because there the ELF header is
created in the 2nd (kdump) kernel. Therefore, to improve things,
remove the rules for s390.
Log is from IBM, and patch has been tested by IBM and work well.
Signed-off-by: Baoquan He <bhe at redhat.com>
Acked-by: Vivek Goyal <vgoyal at redhat.com>
kexec-tools.spec | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)
---
diff --git a/kexec-tools.spec b/kexec-tools.spec
index 2a9197b..444ea57 100644
--- a/kexec-tools.spec
+++ b/kexec-tools.spec
@@ -164,7 +164,11 @@ install -m 644 %{SOURCE8} $RPM_BUILD_ROOT%{_sysconfdir}/kdump.conf
install -m 644 kexec/kexec.8 $RPM_BUILD_ROOT%{_mandir}/man8/kexec.8
install -m 755 %{SOURCE11} $RPM_BUILD_ROOT%{_datadir}/kdump/firstboot_kdump.py
install -m 644 %{SOURCE12} $RPM_BUILD_ROOT%{_mandir}/man8/mkdumprd.8
+%ifnarch s390x
+# For s390x the ELF header is created in the kdump kernel and therefore kexec
+# udev rules are not required
install -m 644 %{SOURCE14} $RPM_BUILD_ROOT%{_sysconfdir}/udev/rules.d/98-kexec.rules
+%endif
install -m 644 %{SOURCE15} $RPM_BUILD_ROOT%{_mandir}/man5/kdump.conf.5
install -m 644 %{SOURCE16} $RPM_BUILD_ROOT%{_unitdir}/kdump.service
mkdir -p $RPM_BUILD_ROOT/usr/sbin
@@ -300,7 +304,9 @@ done
%{_datadir}/kdump
%config(noreplace,missingok) %{_sysconfdir}/sysconfig/kdump
%config(noreplace,missingok) %{_sysconfdir}/kdump.conf
+%ifnarch s390x
%config %{_sysconfdir}/udev/rules.d/*
+%endif
%{dracutlibdir}/modules.d/*
%dir %{_localstatedir}/crash
%{_mandir}/man8/*
More information about the scm-commits
mailing list