** Description changed:
+ [Impact]
+
+ * Needlessly slow systemctl daemon-reload on baremetal s390x machines
+ * Wipes information about auxilary bits, by force resetting kernel version
+
+ [Test Case]
+
+ $ cat /sys/firmware/cpi/system_level
+ 0x0000000000041200
+
+ Note the 41200 digits, this is hex-encoded kernel version number. Can be
+ different depending on the kernel in use
+
+ $ sudo /lib/s390-tools/cpictl -b kvm
+ $ cat /sys/firmware/cpi/system_level
+ 0x8000000000041200
+
+ # Note the leading bit is now 0x8, instead of 0x0
+
+ $ sudo systemctl daemon-reload
+ $ cat /sys/firmware/cpi/system_level
+ 0x8000000000041200 -> is correct, 0x8 is preserved
+ 0x0000000000041200 -> is wrong, 0x8 got reset to 0x0
+
+ [Solution]
+ In Ubuntu, cpi vars are set using systemd generator on early boot, thus HMC
displays correct information about an LPAR very early on.
+ However, setting them takes about 1s, and at the moment was done upon every
systemctl daemon-reload.
+ In addition, when kvm is used, cplictl -b kvm is called to update the leading
kvm usage bit, this was getting lost upon every systemctl daemon-reload.
+
+ Instead, modify the generator to guard against re-setting cpi vars, if
+ they were ever set once.
+
+ [Regression Potential]
+
+ * At worst case scenario, cpi-vars would not be set, leading to
+ cosmetic issue of not able to see auxilary information (e.g. UBUNTU,
+ running kernel version, Ubuntu release version) in the HMC console. As
+ the variables form /sys/firmware/cpi/* are displayed in the HMC.
+
+ [Other Info]
+
+ * Original bug report
+
---Problem Description---
CPI information about kvm usage is lost during apt upgrade
-
+
---uname output---
4.15.0-42-generic
-
- Machine Type = s390x lpar
-
+
+ Machine Type = s390x lpar
+
---Steps to Reproduce---
# cat /sys/firmware/cpi/*
cat: /sys/firmware/cpi/set: Permission denied
-
+
0x0000000000040f00
-
- LINUX
+
+ LINUX
root@m83lp52:~# virsh start guest # starting a guest does set the highest
bit in
- /sys/firmware/cpi/system_leveln
+ /sys/firmware/cpi/system_leveln
root@m83lp52:~# cat /sys/firmware/cpi/*
cat: /sys/firmware/cpi/set: Permission denied
-
+
0x8000000000040f00 <---- see the 8
-
- LINUX
+
+ LINUX
root@m83lp52:~# apt upgrade
[....]
has to upgrade at least one package, that will trigger some other code.
[....]
Now. some other code seems to have set values in /sys/firmware/cpi as
well dropping the kvm information.
root@m83lp52:~# cat /sys/firmware/cpi/*
cat: /sys/firmware/cpi/set: Permission denied
- 18 04 1
+ 18 04 1
0x0000000000040f00
- UBUNTU
- LINUX
-
+ UBUNTU
+ LINUX
The canonical place to handle /sys/firmware/cpi should be
/lib/s390-tools/cpictl and /lib/systemd/system/cpi.service. So can we put the
additional features (setting 18 04 1 and UBUNTU things also into
/etc/sysconfig/cpi
or
/lib/s390-tools/cpictl
)
and can we disable the other code that also sets /sys/firmware/cpi (I have
not found out which code sets these values). This seems to be
/lib/systemd/system-generators/s390-cpi-vars
** Changed in: s390-tools (Ubuntu)
Status: New => Fix Committed
** Also affects: s390-tools (Ubuntu Cosmic)
Importance: Undecided
Status: New
** Also affects: s390-tools (Ubuntu Disco)
Importance: Undecided
Assignee: Skipper Bug Screeners (skipper-screen-team)
Status: Fix Committed
** Also affects: s390-tools (Ubuntu Bionic)
Importance: Undecided
Status: New
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1805841
Title:
CPI information about kvm usage is lost during apt upgrade
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu-z-systems/+bug/1805841/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs