qemu: Missing transaction memory advertisement
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
qemu (Ubuntu) |
Fix Released
|
Undecided
|
Taco Screen team | ||
Xenial |
Won't Fix
|
Undecided
|
Unassigned | ||
Yakkety |
Won't Fix
|
Undecided
|
Unassigned |
Bug Description
[Impact]
* The non HW assisted virtualization (kvm-pr) on PowerPC announces
support for the Transactional memory feature but does not fully
support it. Due to that guests crash.
* The fix essentially takes away the TM feature by default and only
enables it incertain cases where it is correct (right HW and recent
KVM-HV implementation)
[Test Case]
* Repro
1. install uvtool-libvirt in Host
2. uvt-simplestrea
3. $ cat /home/ubuntu/
<domain type='kvm'>
<os>
<type>
<boot dev='hd'/>
</os>
<features>
<acpi/>
<apic/>
<pae/>
</features>
<devices>
<interface type='network'>
<source network='default'/>
<model type='virtio'/>
</interface>
<serial type='pty'>
<source path='/dev/pts/3'/>
<target port='0'/>
</serial>
<graphics type='vnc' autoport='yes' listen='127.0.0.1'>
<listen type='address' address=
</graphics>
<video/>
</devices>
</domain>
4. $ uvt-kvm create --memory 4096 --template /home/ubuntu/
5. log into this guest (all following steps are in level1 guest to
spawn a level2 guest)
6. ensure kvm_pr is loaded correctly
This is in the extras package which is not installed by default
(other bug). Get it with
$ apt-get install linux-image-
$ modprobe kvm_pr
$ lsmod | grep kvm_pr
7. make sure libvirt default network can start in 2nd level
There likely is a network collision, use virsh net-edit to dix and
then virsh net-start to start the network
8. Get Original Xenial Ubuntu image
wget http://
9. sudo apt install virtinst
10. $ virt-install --virt-type=kvm --cpu=host --name=
11. See crash on guest install/boot
* Installing the fixed qemu in the 1st level (not on Bare Metal) before retrying step 11 should show the issue being fixed
[Regression Potential]
* It is changing features announced to the guest, but then it is only
taking it away in cases it won't work
* The change is ppc64el "only" which restricts the audience to be hit
by regressions and even there kvm_pr (problem state virtualization)
is a rare case usually only for Testing/CI
* Changes are upstream in qemu a while now without being revoked and
come from IBM themselves.
-------
== Comment: #0 - Breno Henrique Leitao <email address hidden> - 2017-02-14 10:03:03 ==
We don't support transactional memory in PR KVM, so don't tell the OS that we do.
These are the required patches:
commit 2e68f28854f0120
Author: Thomas Huth <email address hidden>
Date: Wed Sep 28 13:16:30 2016 +0200
ppc: Check the availability of transactional memory
KVM-PR currently does not support transactional memory, and the
implementation in TCG is just a fake. We should not announce TM
support in the ibm,pa-features property when running on such a
system, so disable it by default and only enable it if the KVM
implementation supports it (i.e. recent versions of KVM-HV).
These changes are based on some earlier work from Anton Blanchard
(thanks!).
Signed-off-by: Thomas Huth <email address hidden>
Reviewed-by: C?dric Le Goater <email address hidden>
Signed-off-by: David Gibson <email address hidden>
(cherry picked from commit bac3bf287ab60e2
commit 45a4f18e2ec40b9
Author: Thomas Huth <email address hidden>
Date: Wed Sep 28 13:16:29 2016 +0200
hw/ppc/spapr: Fix the selection of the processor features
The current code uses pa_features_206 for POWERPC_MMU_2_06, and
for everything else, it uses pa_features_207. This is bad in some
cases because there is also a "degraded" MMU version of ISA 2.06,
called POWERPC_MMU_2_06a, which should of course use the flags for
2.06 instead. And there is also the possibility that the user runs
the pseries machine with a POWER5+ or even 970 processor. In that
case we certainly do not want to set the flags for 2.07, and rather
simply skip the setting of the pa-features property instead.
Signed-off-by: Thomas Huth <email address hidden>
Reviewed-by: C?dric Le Goater <email address hidden>
Signed-off-by: David Gibson <email address hidden>
(cherry picked from commit 4cbec30d769a738
commit 5c179666057a756
Author: Thomas Huth <email address hidden>
Date: Wed Sep 28 13:16:28 2016 +0200
hw/ppc/spapr: Move code related to "ibm,pa-features" to a separate function
The function spapr_populate_
already, and since we likely have to extend the pa-features
property for every new processor generation, it is nicer
if we put the related code into a separate function.
Signed-off-by: Thomas Huth <email address hidden>
Reviewed-by: C?dric Le Goater <email address hidden>
Signed-off-by: David Gibson <email address hidden>
(cherry picked from commit 230bf719d3a3b14
tags: | added: architecture-ppc64le bugnameltc-151465 severity-high targetmilestone-inin16042 |
Changed in ubuntu: | |
assignee: | nobody → Taco Screen team (taco-screen-team) |
affects: | ubuntu → qemu (Ubuntu) |
Changed in qemu (Ubuntu Yakkety): | |
status: | New → Confirmed |
description: | updated |
Hi
1. what releases are you think need to get fixed?
I didn't check yet, but you might already know.
2. Could you quickly check if we can close bug 1660946 as dup to this one?
They seem so similar at least to me.