[Bug 1828187] Re: ibm, dynamic-memory property not found while loading kexec kernel (4.18.0-18-generic)
Mathew Hodson
mathew.hodson at gmail.com
Sun Jun 2 01:13:27 UTC 2019
** Also affects: kexec-tools (Ubuntu Cosmic)
Importance: Undecided
Status: New
** Also affects: kexec-tools (Ubuntu Bionic)
Importance: Undecided
Status: New
** Changed in: kexec-tools (Ubuntu Bionic)
Status: New => In Progress
** Changed in: kexec-tools (Ubuntu Cosmic)
Status: New => In Progress
** Changed in: kexec-tools (Ubuntu)
Status: In Progress => Fix Released
** Changed in: kexec-tools (Ubuntu Bionic)
Importance: Undecided => High
** Changed in: kexec-tools (Ubuntu Cosmic)
Importance: Undecided => High
--
You received this bug notification because you are a member of Ubuntu
Sponsors Team, which is subscribed to the bug report.
https://bugs.launchpad.net/bugs/1828187
Title:
ibm,dynamic-memory property not found while loading kexec kernel
(4.18.0-18-generic)
Status in The Ubuntu-power-systems project:
In Progress
Status in kexec-tools package in Ubuntu:
Fix Released
Status in kexec-tools source package in Bionic:
In Progress
Status in kexec-tools source package in Cosmic:
In Progress
Bug description:
For SRU:
[Impact]
* The ibm,dynamic-memory-v2 device tree property replaced the
original ibm,dynamic-memory property. Since kexec-tools doesn't know
to look for the "-v2" property yet, it fails to successfully parse the
node using the new "-v2" property.
* These changes enable the new "-v2" property to be successfully
parsed from the node.
[Test Case]
* Load panic kernel or regular kernel with kexec command:
kdump-config unload; kdump-config load
OR
kexec -l --append="`cat /proc/cmdline`"
--initrd=/boot/initrd.img-`uname -r` /boot/vmlinux-`uname -r`
* Expected result: kexec loads without any warning/error messages
[Testing]
These changes were tested by Hari with a positive result on a 4.18
kernel for ppc64el.
[Regression Potential]
* Low.
* These changes exist in 'kexec-tools' for disco and onwards (these kernels are all >= 4.16 where the -v2 property was enabled).
* The Bionic edge and Cosmic kernels have support for the -v2 property since they are also >= 4.16.
* The regular 4.15 Bionic kernel is the more interesting of the bunch in terms of regression potential since 4.15 is too early to have the -v2 property enabled. The changes introduced by this patch appear to only attempt "-v2" parsing if it was unable to parse the "-v1" node. The absence of the v1 node implies that the device tree is using the "v2" property. Since the "-v2" option is not enabled for the 4.15 kernel, if the "-v1" parsing fails, then the "-v2" parsing will certainly fail, and the code throws the same error condition is it did before the patch was applied anyway.
Original bug description below.
---
== Comment: #0 - Hari Krishna Bathini <hbathini at in.ibm.com> - 2019-05-07 13:37:51 ==
---Problem Description---
On 4.18.0-18-generic kernel, kexec load command throws below traces:
---
Regular kexec load:
root at ubuntu:~# kexec -l --append="`cat /proc/cmdline`" --initrd=/boot/initrd.img-`uname -r` /boot/vmlinux-`uname -r`
/proc/device-tree/ibm,dynamic-reconfiguration-memory/ibm,dynamic-memory: No such file or directory
Modified cmdline:BOOT_IMAGE=/boot/vmlinux-4.18.0-18-generic root=UUID=1aa9458c-3974-4cb4-9ab3-9ee03c0f4e5e ro crashkernel=2G-4G:320M,4G-32G:512M,32G-64G:1024M,64G-128G:2048M,128G-:4096M at 128M
root at ubuntu:~#
---
KDump kernel load:
root at ubuntu:~# kdump-config unload
* unloaded kdump kernel
root at ubuntu:~# kdump-config load
* Creating symlink /var/lib/kdump/vmlinuz
* Creating symlink /var/lib/kdump/initrd.img
/proc/device-tree/ibm,dynamic-reconfiguration-memory/ibm,dynamic-memory: No such file or directory
/proc/device-tree/ibm,dynamic-reconfiguration-memory/ibm,dynamic-memory: No such file or directory
Modified cmdline:BOOT_IMAGE=/boot/vmlinux-4.18.0-18-generic root=UUID=1aa9458c-3974-4cb4-9ab3-9ee03c0f4e5e ro maxcpus=1 systemd.unit=kdump-tools-dump.service irqpoll noirqdistrib nousb elfcorehdr=158912K
* loaded kdump kernel
root at ubuntu:~#
---
Contact Information = hbathini at in.ibm.com
---uname output---
Linux ubuntu 4.18.0-18-generic #19~18.04.1-Ubuntu SMP Fri Apr 5 10:21:11 UTC 2019 ppc64le ppc64le ppc64le GNU/Linux
---Additional Hardware Info---
na
Machine Type = na
---Debugger---
A debugger is not configured
---Steps to Reproduce---
Load panic kernel or regular kernel with kexec command:
kdump-config unload; kdump-config load
OR
kexec -l --append="`cat /proc/cmdline`"
--initrd=/boot/initrd.img-`uname -r` /boot/vmlinux-`uname -r`
Actual Result:
DT files are not found while loading the kernel
Expected result:
kexec loads without any warning/error messages
Userspace tool common name: kexec-tools
The userspace tool has the following bit modes: 64-bit
Userspace rpm: kexec-tools
Userspace tool obtained from project website: na
*Additional Instructions for hbathini at in.ibm.com:
-Attach ltrace and strace of userspace application.
== Comment: #1 - Hari Krishna Bathini <hbathini at in.ibm.com> -
2019-05-07 13:44:25 ==
Since v4.16 kernel, ibm,dynamic-memory-v2 Device Tree Property is supported
in the kernel. This leaves kexec-tools on ppc64le broken without the below
fix patches:
https://git.kernel.org/pub/scm/utils/kernel/kexec/kexec-tools.git/commit/?id=c740fdb2048265551f77d3f0fe53b2fddc0c8489
("kexec: add a helper function to add ranges")
https://git.kernel.org/pub/scm/utils/kernel/kexec/kexec-tools.git/commit/?id=b10924a7da3ca48c04982cd23daf04882afb1a87
("kexec/ppc64: add support to parse ibm, dynamic-memory-v2 property")
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu-power-systems/+bug/1828187/+subscriptions
More information about the Ubuntu-sponsors
mailing list