Skip to contentSkip to conversation

New: [nested virt] L2 has NMI error when creating L1 with "-cpu host" parameter.

Bug 58941 [email protected] 1 participant 5 messages May 29, 2013 – Nov 13, 2013 KVM

lore
Share & tools
lore
#0 lore raw

https://bugzilla.kernel.org/show_bug.cgi?id=58941

Summary: [nested virt] L2 has NMI error when creating L1 with
"-cpu host" parameter.
Product: Virtualization
Version: unspecified
Kernel Version: 3.10.0-rc1
Platform: All
OS/Version: Linux
Tree: Mainline
Status: NEW
Severity: normal
Priority: P1
Component: kvm
AssignedTo: [email protected]
ReportedBy: [email protected]
Regression: Yes

Environment:
------------
Host OS (ia32/ia32e/IA64):ia32e
Guest OS (ia32/ia32e/IA64):ia32e
Guest OS Type (Linux/Windows):Linux
kvm.git next Commit:e47a5f5fb715b90b40747e9e235de557c6abd56c qemu-kvm Commit:b5803aa3583e82e5133f7621121bc15ee694f4a1 Host Kernel Version:3.10.0-rc1
Hardware: SandyBridge-EP, Haswell

Bug detailed description:
--------------------------
When starting L1 guest with parameter "-cpu host" (or '-cpu SandyBridge,+vmx', '-cpu Haswell,+vmx'), the L2 guest will print error like "NMI received for unknown reason 00 on CPU 1."

note:
When starting L1 guest with parameter "-cpu qemu64,+vmx", L2 guest won't print NMI error.

Reproduce steps:
----------------
1. create L1 guest:
qemu-system-x86_64 --enable-kvm -m 10240 -smp 8 -net nic,macaddr=00:12:45:67:2B:1C -net tap,script=/etc/kvm/qemu-ifup nested-kvm-rhel6u4.qcow -cpu host
2. create L2 guest
qemu-system-x86_64 --enable-kvm -m 1024 -smp 2 -net none rhel6u4.img

Current result:
----------------
L2 guest continuously print NMI message

Expected result:
----------------
L2 guest has no NMI message print; L2 works fine

Basic root-causing log:
----------------------
[ in L2's 'dmesg']
Uhhuh. NMI received for unknown reason 30 on CPU 0. Do you have a strange power saving mode enabled? Dazed and confused, but trying to continue

Signature · 3 lines
Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching the assignee of the bug.
#1 lore raw

[Bug 58941] [nested virt] L2 has NMI error when creating L1 with "-cpu host" parameter.

https://bugzilla.kernel.org/show_bug.cgi?id=58941

--- Comment #1 from Jay Ren <[email protected]> 2013-05-29 06:14:54 ---

kvm next + qemu-kvm   = result
188424ba + b5803aa3   = good
db6ae615 + b5803aa3   = bad

This bug may have some relationship with bug #58921.

Signature · 3 lines
Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching the assignee of the bug.
#2 lore raw

[Bug 58941] [nested virt] L2 has NMI error when creating L1 with "-cpu host" parameter.

In reply to [email protected]

https://bugzilla.kernel.org/show_bug.cgi?id=58941

Zhou, Chao <[email protected]> changed:

What |Removed |Added
----------------------------------------------------------------------------
CC| |[email protected]

--- Comment #2 from Zhou, Chao <[email protected]> --- this commit fix the bug:
commit cd2633c59b6f511effb53e10fa2c1e20b1cec1e7

Author: Jan Kiszka <[email protected]>
Date:   Wed Oct 23 17:42:15 2013 +0100

nVMX: Fix pick-up of uninjected NMIs

__vmx_complete_interrupts stored uninjected NMIs in arch.nmi_injected, not arch.nmi_pending. So we actually need to check the former field in vmcs12_save_pending_event. This fixes the eventinj unit test when run in nested KVM.

Signature · 2 lines
You are receiving this mail because:
You are watching the assignee of the bug.
#3 lore raw

[Bug 58941] [nested virt] L2 has NMI error when creating L1 with "-cpu host" parameter.

In reply to [email protected]

https://bugzilla.kernel.org/show_bug.cgi?id=58941

Alan <[email protected]> changed:

What |Removed |Added
----------------------------------------------------------------------------

             Status|NEW                         |RESOLVED
                 CC|                            |[email protected]
         Resolution|---                         |CODE_FIX
Signature · 2 lines
You are receiving this mail because:
You are watching the assignee of the bug.