Ubuntu18.04:POWER9:DD2.2 - Unable to start a KVM guest with default machine type(pseries-bionic) complaining "KVM implementation does not support Transactional Memory, try cap-htm=off" (kvm)
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
The Ubuntu-power-systems project |
Fix Released
|
Critical
|
Canonical Server | ||
linux (Ubuntu) |
Fix Released
|
Critical
|
Seth Forshee | ||
qemu (Ubuntu) |
Fix Released
|
Critical
|
Canonical Server |
Bug Description
== Comment: #0 - Satheesh Rajendran <email address hidden> - 2018-02-23 08:31:06 ==
---Problem Description---
libvirt unable to start a KVM guest complaining about cap-htm machine property to be off
Host Env:
# lscpu
Architecture: ppc64le
Byte Order: Little Endian
CPU(s): 160
On-line CPU(s) list: 0-159
Thread(s) per core: 4
Core(s) per socket: 20
Socket(s): 2
NUMA node(s): 2
Model: 2.2 (pvr 004e 1202)
Model name: POWER9 (raw), altivec supported
CPU max MHz: 3800.0000
CPU min MHz: 2166.0000
L1d cache: 32K
L1i cache: 32K
L2 cache: 512K
L3 cache: 10240K
NUMA node0 CPU(s): 0-79
NUMA node8 CPU(s): 80-159
ii qemu-kvm 1:2.11+
ii libvirt-bin 4.0.0-1ubuntu3 ppc64el programs for the libvirt library
# lsmcode
Version of System Firmware :
Product Name : OpenPOWER Firmware
Product Version : open-power-
Product Extra : occ-577915f
Product Extra : skiboot-
Product Extra : petitboot-
Product Extra : sbe-095e608
Product Extra : machine-xml-fb5f933
Product Extra : hostboot-9bfb201
Product Extra : linux-4.
Contact Information = <email address hidden>
---uname output---
4.15.0-10-generic
Machine Type = power9 boston 2.2 (pvr 004e 1202)
---Debugger---
A debugger is not configured
---Steps to Reproduce---
1. Boot a guest from libvirt with default pseries machine type or pseries-bionic
/usr/bin/
WARNING No operating system detected, VM performance may suffer. Specify an OS with --os-variant for optimal results.
Starting install...
ERROR internal error: process exited while connecting to monitor: ,id=scsi0-
2018-02-
Domain installation does not appear to have been successful.
If it was, you can restart your domain by running:
virsh --connect qemu:///system start virt-tests-vm1
otherwise, please restart your installation.
2. Fails to boot..
Note: if we specify machine type as pseries=2.12 it boots fine like below
/usr/bin/
WARNING No operating system detected, VM performance may suffer. Specify an OS with --os-variant for optimal results.
qemu-cmd line:
libvirt+ 4283 1 99 09:26 ? 00:00:38 qemu-system-ppc64 -enable-kvm -name guest=virt-
Userspace tool common name: ii libvirt-bin 4.0.0-1ubuntu3 ppc64el programs for the libvirt library
The userspace tool has the following bit modes: both
Userspace rpm: ii libvirt-bin 4.0.0-1ubuntu3 ppc64el programs for the libvirt library
Userspace tool obtained from project website: na
*Additional Instructions for <email address hidden>:
-Post a private note with access information to the machine that the bug is occuring on.
-Attach ltrace and strace of userspace application.
== Comment: #1 - Satheesh Rajendran <email address hidden> - 2018-02-23 08:35:17 ==
vm qemu log for failed and passed cases:
Failed:
2018-02-23 14:21:10.806+0000: starting up libvirt version: 4.0.0, package: 1ubuntu3 (Christian Ehrhardt <email address hidden> Mon, 19 Feb 2018 14:18:44 +0100), qemu version: 2.11.1(Debian 1:2.11+
LC_ALL=C PATH=/usr/
2018-02-
2018-02-
2018-02-23 14:21:18.857+0000: shutting down, reason=failed
Passed:
2018-02-23 14:26:07.047+0000: starting up libvirt version: 4.0.0, package: 1ubuntu3 (Christian Ehrhardt <email address hidden> Mon, 19 Feb 2018 14:18:44 +0100), qemu version: 2.11.1(Debian 1:2.11+
LC_ALL=C PATH=/usr/
2018-02-
Regards,
-Satheesh
== Comment: #8 - VIPIN K. PARASHAR <email address hidden> - 2018-02-25 23:38:29 ==
Starting install...
ERROR internal error: process exited while connecting to monitor: ,id=scsi0-
2018-02-
Domain installation does not appear to have been successful.
If it was, you can restart your domain by running:
virsh --connect qemu:///system start virt-tests-vm1
otherwise, please restart your installation.
As per above message, qemu is reporting TM to be not supported by KVM on this hardware
and thus recommending to turn off cap-htm.
== Comment: #12 - Suraj Jitindar Singh <email address hidden> - 2018-02-26 23:35:02 ==
I don't know what a pseries-bionic is, there is no reference to it upstream.
What you are seeing is expected behaviour as far as I can tell. POWER9 currently does not support HTM for a guest and thus it must not be turned on, otherwise qemu will fail to start.
HTM can be disabled from the qemu command line by setting cap-htm=off, as stated in the the error message. The pseries-2.12 machine type has htm disabled by default and thus with that machine type there is no requirement to set cap-htm=off on the command line to get qemu to start.
So depending on what machine pseries-bionic is based on it will be required to disable htm on the command line (with cap-htm=off) if it is not disabled by default for the machine.
== Comment: #13 - Satheesh Rajendran <email address hidden> - 2018-02-27 00:05:12 ==
Had a chat with Suraj and here is the summary
1. Currently Power9 DD2.2(host kernel) does not support HTM, so guest should be booted with cap-htm=off, looks like host kernel patch rework in progress--> Initial patch, https:/
2. Libvirt does not know about this cap-htm yet and currently it does not set any default values?
3. pseries-2.12 does have cap-htm=off by default but not the older machine types, so we see the guest is booting from libvirt with pseries-2.12
4. Once 1 is fixed, we can boot cap-htm=on, I guess by that time pseries-2.12 to be changed to cap-htm=on bydefault.
---> 3. Immediate fix can be Canonical defaults their machine type(pseries-bioic) to pseries-2.12...
---> Future 1 and 4 to be addressed, not sure about 2?
Needs a mirror to Canonical to address this.
Regards,
-Satheesh
tags: | added: architecture-ppc64le bugnameltc-165081 severity-critical targetmilestone-inin1804 |
Changed in ubuntu: | |
assignee: | nobody → Ubuntu on IBM Power Systems Bug Triage (ubuntu-power-triage) |
affects: | ubuntu → qemu (Ubuntu) |
no longer affects: | qemu |
no longer affects: | qemu |
Changed in ubuntu-power-systems: | |
importance: | Undecided → Critical |
assignee: | nobody → Canonical Kernel Team (canonical-kernel-team) |
tags: | added: triage-g |
tags: | added: kernel-da-key |
Changed in ubuntu-power-systems: | |
status: | Incomplete → Confirmed |
Changed in qemu (Ubuntu): | |
assignee: | Ubuntu on IBM Power Systems Bug Triage (ubuntu-power-triage) → Canonical Server Team (canonical-server) |
Changed in linux (Ubuntu): | |
status: | Confirmed → Incomplete |
Changed in linux (Ubuntu): | |
assignee: | nobody → Canonical Kernel Team (canonical-kernel-team) |
importance: | Undecided → Critical |
Changed in qemu (Ubuntu): | |
importance: | Undecided → Critical |
Changed in ubuntu-power-systems: | |
assignee: | nobody → Canonical Server Team (canonical-server) |
Changed in ubuntu-power-systems: | |
status: | Confirmed → Triaged |
tags: | added: kernel-da-key |
Changed in linux (Ubuntu): | |
assignee: | Canonical Kernel Team (canonical-kernel-team) → Seth Forshee (sforshee) |
status: | Incomplete → Fix Committed |
Changed in ubuntu-power-systems: | |
status: | Triaged → Fix Committed |
tags: | added: triage-g |
Changed in ubuntu-power-systems: | |
status: | Fix Committed → Fix Released |
tags: |
added: kernel-fixup-verification-needed-bionic removed: verification-needed-bionic |
tags: | added: verification-needed-bionic |
tags: | added: cscc |
Hi, the long description in this bug is a little confusing. Some of the comments appear to suggest that the required support is not yet upstream.
Could the reporter confirm whether there any current upstream patches that require backporting urgently (the bug is marked as critical)?
Or whether further upstream work is required before backporting should begin.
Thanks, Andy.