Onlining secondary cpus breaks kdump completely on KVM on Power hosts Though we use maxcpus=1 by default but 40-redhat.rules will bring up all possible cpus by default.
Thus before we get the kernel fix and the systemd rule fix let's remove the cpu rule in 40-redhat.rules for ppc64/ppc64le kdump initramfs.
This is back ported from RHEL, and original credit goes to Dave Young dyoung@redhat.com
Signed-off-by: Pingfan Liu piliu@redhat.com --- dracut-module-setup.sh | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+)
diff --git a/dracut-module-setup.sh b/dracut-module-setup.sh index 1ea0d95..c319fc2 100755 --- a/dracut-module-setup.sh +++ b/dracut-module-setup.sh @@ -1010,11 +1010,29 @@ kdump_install_systemd_conf() { echo "ForwardToConsole=yes" >> "${initdir}/etc/systemd/journald.conf.d/kdump.conf" }
+remove_cpu_online_rule() { + local file=${initdir}/usr/lib/udev/rules.d/40-redhat.rules + + sed -i '/SUBSYSTEM=="cpu"/d' "$file" +} + install() { + local arch + kdump_module_init kdump_install_conf remove_sysctl_conf
+ # Onlining secondary cpus breaks kdump completely on KVM on Power hosts + # Though we use maxcpus=1 by default but 40-redhat.rules will bring up all + # possible cpus by default. (rhbz1270174 rhbz1266322) + # Thus before we get the kernel fix and the systemd rule fix let's remove + # the cpu online rule in kdump initramfs. + arch=$(uname -m) + if [[ "$arch" = "ppc64le" ]] || [[ "$arch" = "ppc64" ]]; then + remove_cpu_online_rule + fi + if is_ssh_dump_target; then kdump_install_random_seed fi
Acked-by: Tao Liu ltao@redhat.com
On Mon, Dec 20, 2021 at 9:29 AM Pingfan Liu piliu@redhat.com wrote:
Onlining secondary cpus breaks kdump completely on KVM on Power hosts Though we use maxcpus=1 by default but 40-redhat.rules will bring up all possible cpus by default.
Thus before we get the kernel fix and the systemd rule fix let's remove the cpu rule in 40-redhat.rules for ppc64/ppc64le kdump initramfs.
This is back ported from RHEL, and original credit goes to Dave Young dyoung@redhat.com
Signed-off-by: Pingfan Liu piliu@redhat.com
dracut-module-setup.sh | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+)
diff --git a/dracut-module-setup.sh b/dracut-module-setup.sh index 1ea0d95..c319fc2 100755 --- a/dracut-module-setup.sh +++ b/dracut-module-setup.sh @@ -1010,11 +1010,29 @@ kdump_install_systemd_conf() { echo "ForwardToConsole=yes" >> "${initdir}/etc/systemd/journald.conf.d/kdump.conf" }
+remove_cpu_online_rule() {
- local file=${initdir}/usr/lib/udev/rules.d/40-redhat.rules
- sed -i '/SUBSYSTEM=="cpu"/d' "$file"
+}
install() {
local arch
kdump_module_init kdump_install_conf remove_sysctl_conf
# Onlining secondary cpus breaks kdump completely on KVM on Power hosts
# Though we use maxcpus=1 by default but 40-redhat.rules will bring up all
# possible cpus by default. (rhbz1270174 rhbz1266322)
# Thus before we get the kernel fix and the systemd rule fix let's remove
# the cpu online rule in kdump initramfs.
arch=$(uname -m)
if [[ "$arch" = "ppc64le" ]] || [[ "$arch" = "ppc64" ]]; then
remove_cpu_online_rule
fi
if is_ssh_dump_target; then kdump_install_random_seed fi
-- 2.31.1
Patch merged. Thanks to Pingfan and Tao.
On Mon, Dec 20, 2021 at 10:11:24AM +0800, Tao Liu wrote:
Acked-by: Tao Liu ltao@redhat.com
On Mon, Dec 20, 2021 at 9:29 AM Pingfan Liu piliu@redhat.com wrote:
Onlining secondary cpus breaks kdump completely on KVM on Power hosts Though we use maxcpus=1 by default but 40-redhat.rules will bring up all possible cpus by default.
Thus before we get the kernel fix and the systemd rule fix let's remove the cpu rule in 40-redhat.rules for ppc64/ppc64le kdump initramfs.
This is back ported from RHEL, and original credit goes to Dave Young dyoung@redhat.com
Signed-off-by: Pingfan Liu piliu@redhat.com
dracut-module-setup.sh | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+)
diff --git a/dracut-module-setup.sh b/dracut-module-setup.sh index 1ea0d95..c319fc2 100755 --- a/dracut-module-setup.sh +++ b/dracut-module-setup.sh @@ -1010,11 +1010,29 @@ kdump_install_systemd_conf() { echo "ForwardToConsole=yes" >> "${initdir}/etc/systemd/journald.conf.d/kdump.conf" }
+remove_cpu_online_rule() {
- local file=${initdir}/usr/lib/udev/rules.d/40-redhat.rules
- sed -i '/SUBSYSTEM=="cpu"/d' "$file"
+}
install() {
local arch
kdump_module_init kdump_install_conf remove_sysctl_conf
# Onlining secondary cpus breaks kdump completely on KVM on Power hosts
# Though we use maxcpus=1 by default but 40-redhat.rules will bring up all
# possible cpus by default. (rhbz1270174 rhbz1266322)
# Thus before we get the kernel fix and the systemd rule fix let's remove
# the cpu online rule in kdump initramfs.
arch=$(uname -m)
if [[ "$arch" = "ppc64le" ]] || [[ "$arch" = "ppc64" ]]; then
remove_cpu_online_rule
fi
if is_ssh_dump_target; then kdump_install_random_seed fi
-- 2.31.1