You have been subscribed to a public bug:

Couldn't emulate instruction 0x7813427c
-------------------------------------------------------

Cannot boot nested VMs in Xenial or Yakkety w/ kvm accel.
It worked until Vivid (in spite of not being possible in x86)
TCG mode works fine, but very slow.

TCG full emulation is the mode in the x86 world for nested virt.
However, in Power, we've been using in OpenStack CI w/ kvm accel (native
virtualization) to speed up 2nd level VMs. It worked until Vivid.

Is the case that kvm accel isn't possible anymore for nested virt
(aligned with x86 KVM) ? So full emulation TCG mode is the only possible
mode in newer kernels ?

qemu-system-ppc64le -machine pseries,accel=kvm,usb=off -m 1G -enable-kvm
-cpu POWER8E -display none -nographic cirros-d161007-ppc64le-disk.img

lsmod |grep kvm
kvm_pr                 96452  1
kvm                   152984  4 kvm_pr


Nested VM console:

OF stdout device is: /vdevice/vty@71000000
Preparing to boot Linux version 4.4.0-28-generic (buildd@bos01-ppc64el-018) 
(gcc version 5.3.1 20160413 (Ubuntu/IBM 5.3.1-14ubuntu2.1) ) #47-Ubuntu SMP Fri 
Jun 24 10:09:20 UTC 2016 (Ubuntu 4.4.0-28.47-generic 4.4.13)
Detected machine type: 0000000000000101
Max number of cores passed to firmware: 2048 (NR_CPUS = 2048)
Calling ibm,client-architecture-support... done
command line: BOOT_IMAGE=/boot/vmlinux-4.4.0-28-generic LABEL=cirros-rootfs ro
memory layout at init:
  memory_limit : 0000000000000000 (16 MB aligned)
  alloc_bottom : 0000000004210000
  alloc_top    : 0000000010000000
  alloc_top_hi : 0000000040000000
  rmo_top      : 0000000010000000
  ram_top      : 0000000040000000
found display   : /pci@800000020000000/vga@0, opening... done
instantiating rtas at 0x000000000daf0000... done
prom_hold_cpus: skipped
copying OF device tree...
Building dt strings...
Building dt structure...
Device tree strings 0x0000000004220000 -> 0x0000000004220aa9
Device tree struct  0x0000000004230000 -> 0x0000000004240000
Quiescing Open Firmware ...
Booting Linux via __start() ?

<The nested VM hangs here>


/var/log/syslog & /var/log/kern.log

Oct 13 14:07:38 patricia-ub16-10 kernel: [64072.186975] kvmppc_handle_exit_pr: 
emulation at 700 failed (7813427c)
Oct 13 14:07:38 patricia-ub16-10 kernel: [64072.187023] Couldn't emulate 
instruction 0x7813427c (op 30 xop 318)
Oct 13 14:07:38 patricia-ub16-10 kernel: [64072.187066] kvmppc_handle_exit_pr: 
emulation at 700 failed (7813427c)
Oct 13 14:07:38 patricia-ub16-10 kernel: [64072.187113] Couldn't emulate 
instruction 0x7813427c (op 30 xop 318)
Oct 13 14:07:38 patricia-ub16-10 kernel: [64072.187156] kvmppc_handle_exit_pr: 
emulation at 700 failed (7813427c)

<syslog and kern.log fills up with this error forever, until get the
disk full>

Host:
cpu             : POWER8E (raw), altivec supported
clock           : 3690.000000MHz
revision        : 2.1 (pvr 004b 0201)

timebase        : 512000000
platform        : PowerNV
model           : 8247-22L
machine         : PowerNV 8247-22L
firmware        : OPAL v3


Guest: Xenial or Yakkety
Description: Ubuntu 16.10
Release: 16.10
Codename: yakkety

Nested VM:
CirrOS
http://download.cirros-cloud.net/daily/20161007/cirros-d161007-ppc64le-disk.img


This seems to be related
https://patchwork.kernel.org/patch/9121881/

** Affects: linux (Ubuntu)
     Importance: Undecided
     Assignee: Taco Screen team (taco-screen-team)
         Status: New


** Tags: architecture-ppc64le bugnameltc-147569 severity-critical 
targetmilestone-inin16041
-- 
Couldn't emulate instruction 0x7813427c
https://bugs.launchpad.net/bugs/1634129
You received this bug notification because you are a member of Kernel Packages, 
which is subscribed to linux in Ubuntu.

-- 
Mailing list: https://launchpad.net/~kernel-packages
Post to     : kernel-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kernel-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to