Description of problem: I've been doing some testing of RHEL-4 guests under KVM (Fedora 8 host). Prior to 2.6.9-68.33, RHEL-4 guests would boot just fine. However, on 2.6.9-68.33 or later, I crash when starting the guest up; the stack trace I can actually capture is really bogus. I'm pretty sure this has to do with the recent NMI watchdog fixes in 68.33; if I pass "nmi_watchdog=0" (NMI watchdog disabled) or "nmi_watchdog=1" (IO-APIC watchdog), then the guest boots fine. It's only the default of nmi_watchdog=2 (performance counters) that causes the problem. I believe the problem is related to KVM's emulation of performance counters. At this point, KVM basically doesn't emulate performance counters, so if you wrmsr to a perf counter, KVM injects a GPF. In previous RHEL-4 kernels, this was actually OK, because they did a "checking_wrmsrl()" with a fixup section before trying to write. I think the solution here is probably to go back to a "checking_wrmsrl" type solution, to make sure that we don't crash if either the platform doesn't support the counters, or if we are running under KVM.
Created attachment 305138 [details] test patch
Comment on attachment 305138 [details] test patch not upstream
Created attachment 305246 [details] updated test patch
Yep, that second patch seems to do it for me under KVM. The RHEL-4 kernel boots up fine with it, although the NMI watchdog itself does not work (which is not surprising, since KVM doesn't properly emulate the performance counters at the moment). Chris Lalancette
OK. This should now be fixed in upstream KVM, so we don't actually need a patch for RHEL-4. If this turns out not to be true in the future, we can re-open this, but for now I'm going to close as WONTFIX. Chris Lalancette
Clearing out old flags for reporting purposes. Chris Lalancette