[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Kernel panic booting Oracle Linux in kvm



Hi, I am trying to install KVM based virtual machine with Oracle Linux 5
(afaik is RHEL 5).

When kvm boots the installation media it raise a kernel panic.

Call Trace:
[<ffffffff8007cadb] lapic_watchdog_init+0x1b/0x3c
[<ffffffff80077880] setup_apic_nmi_watchdog+0x4Z/0x8a
[<ffffffff800770e1] setup_local_APIC+0x17b/0x187
[<ffffffff803f1404] smp_prepare_cpus+0x34b/0x361
[<ffffffff803e78bf] init+0x6Z/0xZf7
[<ffffffff8005dfb1] child_rip+0xa/0x11
[<ffffffff8017161b] acpi_ds_init_one_object+0x0/0x80
[<ffffffff803e785d] init+0x0/0xZf7
[<ffffffff8005dfa7] chiId_rip+0x0/0x11

Code: 0f 30 b8 76 00 13 00 89 d9 0f 30 48 c7 c6 40 6c Z9 80 89 fa
RIP  [<ffffffff8007cc6f] setup_X7_watchdog+0xZd/0x7a
RSP <ffff81003ffbbe50
KerneI panic - not syncing: Fatal exception


On LKML I was able to track the problem and found a commit regarding
exactly it:

http://www.kernel.org/pub/linux/kernel/v2.6/snapshots/patch-2.6.26-git9.log
---------------------------------------------------------------------------

commit 93ded9b8fd42abe2c3607097963d8de6ad9117eb
Merge: 6d52dcb... f756cbd...
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Mon Jul 21 15:42:20 2008 -0700

    Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6
    

commit 14ae51b6c068ef7ab52dc2d53fe226e6189f2ab2
Author: Chris Lalancette <clalance@redhat.com>
Date:   Mon May 5 13:05:16 2008 -0400

    KVM: SVM: Fake MSR_K7 performance counters
    
    Attached is a patch that fixes a guest crash when booting older
Linux kernels.
    The problem stems from the fact that we are currently emulating
    MSR_K7_EVNTSEL[0-3], but not emulating MSR_K7_PERFCTR[0-3].  Because
of this,
    setup_k7_watchdog() in the Linux kernel receives a GPF when it
attempts to
    write into MSR_K7_PERFCTR, which causes an OOPs.
    
    The patch fixes it by just "fake" emulating the appropriate MSRs,
throwing
    away the data in the process.  This causes the NMI watchdog to not
actually
    work, but it's not such a big deal in a virtualized environment.
    
    When we get a write to one of these counters, we printk_ratelimit()
a warning.
    I decided to print it out for all writes, even if the data is 0; it
doesn't
    seem to make sense to me to special case when data == 0.
    
    Tested by myself on a RHEL-4 guest, and Joerg Roedel on a Windows XP
64-bit
    guest.
    

Currently I am using 2.6.26 amd64 on testing, which in my understanding
should contain the MSR_K7 patch. Unstable 2.6.29 is not affected. I
suspect stable also is affected by the bug.

I would like to solve this issue in Debian and can contribute more
details and test if needed.

Best regards

Davide


Reply to: