[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