PARAVIRT_GUEST bug? [was: Stable regression: usb-storage is stuckin 2.6.26.5]

From: Michael Tokarev
Date: Tue Sep 16 2008 - 04:12:08 EST


Michael Tokarev wrote:

[usb-storage hangs on asus M2NPV-VM (nVidia GeForce 6150/nForce 430)
motherboard with latest bios]

Ok, it turned out to be pretty.. interesting.

It's not a regression within -stable kernel series. The problem
happens when BOTH are true:

- using latest BIOS for this mobo (1401), AND
- enabling KVM_GUEST in kernel.

The only difference in my kernel config between .1 and .5 was
to enable KVM_GUEST and KVM_CLOCK, and also I2C_HELPER_AUTO
which was added by kernel update.

Going with previous BIOS (1201) OR disabling PARAVIRT_GUEST
fixes the problem. I'll try to figure out which config
option is at problem here.

After seeing similar situation on another motherboard, I
become curious.

Here's the result: M3A78-EM motherboard (also from Asus),
AMD780G/SB700 etc. Updating to one of the latest bios
makes the system unbootable. Kernel hangs on boot right
after displaying

SLUB: Genslabs=12, HWalign=64, Order=0-1, MinObjects=4, CPUs=2, Nodes=1

Reverting to the older BIOS or disabling PARAVIRT_GUEST in kernel
fixes this (turning off KVM_GUEST isn't enough), and kernel happily
boots further, with next line being

hpet clockevent registered
...

Reportedly, another Asus motherboard (M2N-SLI DELUXE) also hangs
with new BIOS and KVM_GUEST optimizations turned on, but not on
older BIOS.

So it's quite.. funny. At least SOME latest BIOSes from Asustec,
together with PARAVIRT_GUEST, -- a problem. Don't do either of
those, and it's all ok.

The question is if Asus introduced the same bug in quite.. some
of their recent BIOSes, or PARAVIRT_GUEST code is somehow buggy
and the bug is exposed by new BIOS code.

Any hints on this? ;)

Thanks!

/mjt
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/