Bug 1018691 - Case "pmu" in kvm unit test fails on RHEL6.5 host
Case "pmu" in kvm unit test fails on RHEL6.5 host
Status: CLOSED NOTABUG
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: qemu-kvm (Show other bugs)
6.5
Unspecified Unspecified
medium Severity medium
: rc
: ---
Assigned To: Virtualization Maintenance
Virtualization Bugs
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2013-10-14 04:01 EDT by Shaolong Hu
Modified: 2014-01-08 07:34 EST (History)
11 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2013-10-14 09:48:22 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Shaolong Hu 2013-10-14 04:01:08 EDT
Description of problem:
--------------------------
I recently run kvm unit test (using run_tests.sh with default unittests.cfg) with upstream qemu on latest RHEL6.5 host, there are 3 cases get stuck, 2 cases fail.

I am not sure whether this is a kvm bug, or kvm unit test problem, or i run kvm unit test wrong, i only modify run_test.sh and x86_run script a little bit to separate log file for each case, and i use upstream qemu for i was told in RHEL6 testdev device in our internal version may not guarantee to work, so feel free to change the component or close if this is notabug.

BTW, the "-display none" command does not exists, i have to remove it from script or it shows all cases pass but don't run them at all.


Version-Release number of selected component (if applicable):
--------------------------------------------------------------
kernel 2.6.32-421.el6.x86_64
qemu: latest upstream
kvm unit test: latest upstream

host:

vendor_id	: GenuineIntel
cpu family	: 6
model		: 23
model name	: Intel(R) Core(TM)2 Quad CPU    Q9500  @ 2.83GHz


This bug is to track the "pmu" case, which fails, log:

qemu-system-x86_64 -enable-kvm -device testdev,chardev=testlog -chardev file,id=testlog,path=msr.out -serial stdio -kernel x86/pmu.flat -smp 1
VNC server running on `::1:5901'
enabling apic
paging enabled
cr0 = 80010011
cr3 = 7fff000
cr4 = 20
PMU version:         33
GP counters:         1
GP counter width:    0
Mask length:         0
Fixed counters:      1
Fixed counter width: 0
GP event 'core cycles' is disabled
GP event 'instructions' is disabled
GP event 'ref cycles' is disabled
GP event 'llc refference' is disabled
GP event 'llc misses' is disabled
GP event 'branches' is disabled
unhandled excecption 13
Return value from qemu: 7
Comment 1 Gleb Natapov 2013-10-14 09:48:22 EDT
(In reply to Shaolong Hu from comment #0)
> This bug is to track the "pmu" case, which fails, log:
> 
> qemu-system-x86_64 -enable-kvm -device testdev,chardev=testlog -chardev
> file,id=testlog,path=msr.out -serial stdio -kernel x86/pmu.flat -smp 1

You need to run it with -cpu host otherwise guest has no PMU.
Comment 2 Shaolong Hu 2013-10-17 22:59:22 EDT
# qemu-system-x86_64 -enable-kvm -device testdev,chardev=testlog -chardev file,id=testlog,path=msr.out -serial stdio -kernel x86/pmu.flat -smp 1 -cpu host
VNC server running on `::1:5900'
enabling apic
paging enabled
cr0 = 80010011
cr3 = 7fff000
cr4 = 20
PMU version:         2
GP counters:         2
GP counter width:    40
Mask length:         7
Fixed counters:      3
Fixed counter width: 40
PASS: pmu core cycles-0
PASS: pmu core cycles-1
PASS: pmu instructions-0
PASS: pmu instructions-1
PASS: pmu ref cycles-0
PASS: pmu ref cycles-1
PASS: pmu llc refference-0
PASS: pmu llc refference-1
PASS: pmu llc misses-0
PASS: pmu llc misses-1
PASS: pmu branches-0
PASS: pmu branches-1
PASS: pmu branch misses-0
PASS: pmu branch misses-1
PASS: pmu fixed-0
PASS: pmu fixed-1
PASS: pmu fixed-2
PASS: pmu rdpmc-0
PASS: pmu rdpmc fast-0
PASS: pmu rdpmc-1
PASS: pmu rdpmc fast-1
PASS: pmu rdpmc fixed-0
PASS: pmu rdpmc fixed fast-0
PASS: pmu rdpmc fixed-1
PASS: pmu rdpmc fixed fast-1
PASS: pmu rdpmc fixed-2
PASS: pmu rdpmc fixed fast-2
FAIL: pmu all counters-0
PASS: pmu overflow-0
PASS: pmu overflow status-0
PASS: pmu overflow status clear-0
PASS: pmu overflow irq-0
PASS: pmu overflow-1
PASS: pmu overflow status-1
PASS: pmu overflow status clear-1
PASS: pmu overflow irq-1
PASS: pmu overflow-2
PASS: pmu overflow status-2
PASS: pmu overflow status clear-2
PASS: pmu overflow irq-2
PASS: pmu cmask-0

41 tests, 1 failures
Comment 3 Shaolong Hu 2013-10-17 23:00:50 EDT
kvm unit test may need patch:

x86/unittests.cfg

[pmu]
file = pmu.flat
+ extra_params = -cpu host
Comment 4 Shaolong Hu 2013-10-18 00:10:27 EDT
Hi Gleb,

Could you have a look at the failure in comment 2 ?
Comment 5 Paolo Bonzini 2013-10-18 03:23:05 EDT
Did you have NMI watchdog enabled in the host?
Comment 6 Shaolong Hu 2013-10-18 04:39:09 EDT
(In reply to Paolo Bonzini from comment #5)
> Did you have NMI watchdog enabled in the host?

Yes, there is nmi count in /proc/interrupts, i think it is enabled by default.
Comment 7 Paolo Bonzini 2013-10-18 05:20:19 EDT
The NMI watchdog uses up a performance counter, and thus causes the all-counters test to fail.
Comment 8 Shaolong Hu 2013-10-18 05:26:38 EDT
(In reply to Paolo Bonzini from comment #7)
> The NMI watchdog uses up a performance counter, and thus causes the
> all-counters test to fail.

Thanks, all test pass.

Note You need to log in before you can comment on or make changes to this bug.