ubuntu-kvm-unit test failed with sprs test on ppc64le
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
ubuntu-kernel-tests |
Fix Released
|
Undecided
|
Unassigned | ||
linux (Ubuntu) |
Invalid
|
Medium
|
Unassigned | ||
Xenial |
Invalid
|
Undecided
|
Unassigned | ||
qemu (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Xenial |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
[Impact]
* Certain Guest features (SPRS) of power8 isa are not working
* This is part of the ongoing LTS HW exploitation and a fixup to some
verification tests at the same time.
[Test Case]
* 1. deploy xenial + HWE kernel on a ppc64el box
2. sudo apt-get install qemu-kvm -y
3. git clone --depth=1 https:/
4. cd kvm-unit-tests
5. ./configure --endian=little; make
6. sudo ppc64_cpu --smt=off
7. sudo ./run_tests.sh -v
[Regression Potential]
* The changes are ppc only and provided by IBM so the potential risk is
retained to the owner of the Area.
Further if these registers are not used they do nothing, so in most
cases it will be a nop.
OTOH the changes are rather huge (in terms of LOC) so there is some
risk left.
[Other Info]
* n/a
---
The sprs test has failed on ppc64le
This issue can be spotted on Zesty and Xenial. There is no history for this test on Artful
$ sudo /bin/bash -c "MIGRATION=yes TESTNAME=sprs TIMEOUT=90s ACCEL= ./powerpc/run powerpc/sprs.elf -smp 1 -append '-w'"
run_migration timeout -k 1s --foreground 90s /usr/bin/
Settings SPRs to 0xcafefacec0deb
Now migrate the VM, then press a key or send NMI...
Checking SPRs...
PASS: SPR 3: 0x0000000000debabe <==> 0x0000000000debabe
PASS: SPR 13: 0xcafefacec0debabe <==> 0xcafefacec0debabe
PASS: SPR 17: 0x0000000000debabe <==> 0x0000000000debabe
PASS: SPR 18: 0x00000000c0debabe <==> 0x00000000c0debabe
PASS: SPR 19: 0xcafefacec0debabe <==> 0xcafefacec0debabe
PASS: SPR 29: 0xcafefacec0debabe <==> 0xcafefacec0debabe
FAIL: SPR 61: 0x4054504440541014 <==> 000000000000000000
PASS: SPR 153: 0x0a00000000000084 <==> 0x0a00000000000084
PASS: SPR 157: 0xcfffffcfc0cfffff <==> 0xcfffffcfc0cfffff
FAIL: SPR 159: 0x00000000c0debabe <==> 000000000000000000
PASS: SPR 256: 0x00000000c0debabe <==> 0x00000000c0debabe
PASS: SPR 259: 0xcafefacec0debabe <==> 0xcafefacec0debabe
PASS: SPR 274: 0xcafefacec0debabe <==> 0xcafefacec0debabe
PASS: SPR 275: 0xcafefacec0debabe <==> 0xcafefacec0debabe
PASS: SPR 769: 0xcafefacec0debabe <==> 0xcafefacec0debabe
PASS: SPR 770: 0xcafefacec006babe <==> 0xcafefacec006babe
PASS: SPR 771: 0x00000000c0debabe <==> 0x00000000c0debabe
PASS: SPR 772: 0x00000000c0debabe <==> 0x00000000c0debabe
PASS: SPR 773: 0x00000000c0debabe <==> 0x00000000c0debabe
PASS: SPR 774: 0x00000000c0debabe <==> 0x00000000c0debabe
PASS: SPR 775: 0x00000000c0debabe <==> 0x00000000c0debabe
PASS: SPR 776: 0x00000000c0debabe <==> 0x00000000c0debabe
PASS: SPR 779: 0x00000000fa8b1afe <==> 0x00000000fa8b1afe
PASS: SPR 780: 0xcafefacec0debabc <==> 0xcafefacec0debabc
PASS: SPR 781: 0xcafefacec0debabe <==> 0xcafefacec0debabe
PASS: SPR 782: 0xcafefacec0debabe <==> 0xcafefacec0debabe
FAIL: SPR 784: 0xcafefacec0debabe <==> 000000000000000000
PASS: SPR 785: 0xcafefacec0debabe <==> 0xcafefacec0debabe
PASS: SPR 786: 0xcafefacec006babe <==> 0xcafefacec006babe
PASS: SPR 787: 0x00000000c0debabe <==> 0x00000000c0debabe
PASS: SPR 788: 0x00000000c0debabe <==> 0x00000000c0debabe
PASS: SPR 789: 0x00000000c0debabe <==> 0x00000000c0debabe
PASS: SPR 790: 0x00000000c0debabe <==> 0x00000000c0debabe
PASS: SPR 791: 0x00000000c0debabe <==> 0x00000000c0debabe
PASS: SPR 792: 0x00000000c0debabe <==> 0x00000000c0debabe
PASS: SPR 795: 0x00000000fa8b1afe <==> 0x00000000fa8b1afe
PASS: SPR 796: 0xcafefacec0debabc <==> 0xcafefacec0debabc
PASS: SPR 797: 0xcafefacec0debabe <==> 0xcafefacec0debabe
PASS: SPR 798: 0xcafefacec0debabe <==> 0xcafefacec0debabe
PASS: SPR 800: 0x80000000c0000000 <==> 0x80000000c0000000
PASS: SPR 801: 0x0000000080000000 <==> 0x0000000080000000
PASS: SPR 802: 0x80000000c0000000 <==> 0x80000000c0000000
PASS: SPR 803: 0x0000000080000000 <==> 0x0000000080000000
PASS: SPR 804: 0xcafefacec0debabe <==> 0xcafefacec0debabe
PASS: SPR 805: 0xcafefacec0debabc <==> 0xcafefacec0debabc
PASS: SPR 806: 0x80000000c0000000 <==> 0x80000000c0000000
FAIL: SPR 815: 0xcafefacec0debabe <==> 000000000000000000
SUMMARY: 47 tests, 4 unexpected failures
EXIT: STATUS=3
$ qemu-system-ppc --version
QEMU emulator version 2.5.0 (Debian 1:2.5+dfsg-
ProblemType: Bug
DistroRelease: Ubuntu 16.04
Package: linux-image-
ProcVersionSign
Uname: Linux 4.10.0-37-generic ppc64le
ApportVersion: 2.20.1-0ubuntu2.10
Architecture: ppc64el
Date: Mon Oct 16 09:16:08 2017
ProcEnviron:
TERM=xterm-
PATH=(custom, no user)
XDG_RUNTIME_
LANG=en_US.UTF-8
SHELL=/bin/bash
ProcLoadAvg: 0.02 0.14 0.17 1/1464 15093
ProcLocks:
1: POSIX ADVISORY WRITE 1604 00:14:19651 0 EOF
2: POSIX ADVISORY WRITE 2937 00:14:55331 0 EOF
3: FLOCK ADVISORY WRITE 3046 00:14:67623 0 EOF
4: POSIX ADVISORY WRITE 3124 00:14:57398 0 EOF
5: POSIX ADVISORY WRITE 3047 00:14:87068 0 EOF
ProcSwaps:
Filename Type Size Used Priority
/swap.img file 8388544 0 -1
ProcVersion: Linux version 4.10.0-37-generic (buildd@
SourcePackage: linux-hwe
UpgradeStatus: No upgrade log present (probably fresh install)
cpu_cores: Number of cores present = 20
cpu_coreson: Number of cores online = 20
cpu_smt: SMT is off
tags: | added: zesty |
tags: | added: architecture-ppc64le bugnameltc-160547 severity-medium targetmilestone-inin16043 |
Changed in qemu (Ubuntu): | |
status: | New → Incomplete |
Changed in linux (Ubuntu): | |
status: | Incomplete → Confirmed |
Changed in linux (Ubuntu): | |
importance: | Undecided → Medium |
description: | updated |
Changed in linux (Ubuntu): | |
status: | Confirmed → Invalid |
Changed in linux (Ubuntu Xenial): | |
status: | New → Invalid |
Changed in ubuntu-kernel-tests: | |
status: | New → Fix Released |
tags: | added: cscc |
qemu-2.7.1 built from source still got this issue.
But it can be fixed by using qemu-2.10.0 built from source.
# export QEMU=/home/ ubuntu/ qemu-2. 10.0/ppc64- softmmu/ qemu-system- ppc64 qemu-2. 10.0/ppc64- softmmu/ qemu-system- ppc64 -nodefaults -machine pseries,accel=kvm -bios powerpc/ boot_rom. bin -display none -serial stdio -kernel powerpc/sprs.elf -smp 1 -append -w # -initrd /tmp/tmp.dKAYkHnAZh abe...
# MIGRATION=yes TESTNAME=sprs TIMEOUT=90s ACCEL= ./powerpc/run powerpc/sprs.elf -smp 1 -append '-w'
run_migration timeout -k 1s --foreground 90s /home/ubuntu/
Settings SPRs to 0xcafefacec0deb
Now migrate the VM, then press a key or send NMI...
Checking SPRs...
PASS: SPR 3: 0x0000000000debabe <==> 0x0000000000debabe
PASS: SPR 13: 0xcafefacec0debabe <==> 0xcafefacec0debabe
PASS: SPR 17: 0x0000000000debabe <==> 0x0000000000debabe
PASS: SPR 18: 0x00000000c0debabe <==> 0x00000000c0debabe
PASS: SPR 19: 0xcafefacec0debabe <==> 0xcafefacec0debabe
PASS: SPR 29: 0xcafefacec0debabe <==> 0xcafefacec0debabe
PASS: SPR 61: 0x4054504440541014 <==> 0x4054504440541014
PASS: SPR 153: 0x0a00000000000084 <==> 0x0a00000000000084
PASS: SPR 157: 0xcfffffcfc0cfffff <==> 0xcfffffcfc0cfffff
PASS: SPR 159: 0x00000000c0debabe <==> 0x00000000c0debabe
PASS: SPR 256: 0x00000000c0debabe <==> 0x00000000c0debabe
PASS: SPR 259: 0xcafefacec0debabe <==> 0xcafefacec0debabe
PASS: SPR 274: 0xcafefacec0debabe <==> 0xcafefacec0debabe
PASS: SPR 275: 0xcafefacec0debabe <==> 0xcafefacec0debabe
PASS: SPR 769: 0xcafefacec0debabe <==> 0xcafefacec0debabe
PASS: SPR 770: 0xcafefacec006babe <==> 0xcafefacec006babe
PASS: SPR 771: 0x00000000c0debabe <==> 0x00000000c0debabe
PASS: SPR 772: 0x00000000c0debabe <==> 0x00000000c0debabe
PASS: SPR 773: 0x00000000c0debabe <==> 0x00000000c0debabe
PASS: SPR 774: 0x00000000c0debabe <==> 0x00000000c0debabe
PASS: SPR 775: 0x00000000c0debabe <==> 0x00000000c0debabe
PASS: SPR 776: 0x00000000c0debabe <==> 0x00000000c0debabe
PASS: SPR 779: 0x00000000fa8b1afe <==> 0x00000000fa8b1afe
PASS: SPR 780: 0xcafefacec0debabc <==> 0xcafefacec0debabc
PASS: SPR 781: 0xcafefacec0debabe <==> 0xcafefacec0debabe
PASS: SPR 782: 0xcafefacec0debabe <==> 0xcafefacec0debabe
PASS: SPR 784: 0xcafefacec0debabe <==> 0xcafefacec0debabe
PASS: SPR 785: 0xcafefacec0debabe <==> 0xcafefacec0debabe
PASS: SPR 786: 0xcafefacec006babe <==> 0xcafefacec006babe
PASS: SPR 787: 0x00000000c0debabe <==> 0x00000000c0debabe
PASS: SPR 788: 0x00000000c0debabe <==> 0x00000000c0debabe
PASS: SPR 789: 0x00000000c0debabe <==> 0x00000000c0debabe
PASS: SPR 790: 0x00000000c0debabe <==> 0x00000000c0debabe
PASS: SPR 791: 0x00000000c0debabe <==> 0x00000000c0debabe
PASS: SPR 792: 0x00000000c0debabe <==> 0x00000000c0debabe
PASS: SPR 795: 0x00000000fa8b1afe <==> 0x00000000fa8b1afe
PASS: SPR 796: 0xcafefacec0debabc <==> 0xcafefacec0debabc
PASS: SPR 797: 0xcafefacec0debabe <==> 0xcafefacec0debabe
PASS: SPR 798: 0xcafefacec0debabe <==> 0xcafefacec0debabe
PASS: SPR 800: 0x80000000c0000000 <==> 0x80000000c0000000
PASS: SPR 801: 0x0000000080000000 <==> 0x0000000080000000
PASS: SPR 802: 0x80000000c0000000 <==> 0x80000000c0000000
PASS: SPR 803: 0x0000000080000000 <==> 0x0000000080000000
PASS: SPR 804: 0xcafefacec0debabe <==> 0xcafefacec0d...