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

From: Michael Tokarev
Date: Tue Sep 23 2008 - 13:54:26 EST


Jeremy Fitzhardinge wrote:
Michael Tokarev wrote:
Michael Tokarev wrote:
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
PARAVIRT it is, not PARAVIRT_GUEST.

Hm, mysterious. CONFIG_PARAVIRT should have no functional effect on a
native boot.

Could you post the complete dmesg output (with "initcall_debug" on the
kernel command line), with both CONFIG_PARAVIRT on and off, and ideally,
comparing working vs non-working BIOS?

It turned out to be more difficult than I thought. There were other
problems with the motherboard I experimented with (my new home machine),
unrelated. Also, it wasn't possible to re-flash bios back as it said
that the old version is incompatible with currently running bios so it
can't re-flash it.

Also, initcall_debug does not make any difference for my mobo. All the
debugging shown by this option are AFTER the place where it hangs.
And for netconsole I'd need another machine at home, which I don't
have currently.

Instead, while debugging other issues, I tried 2.6.27-rc7 kernel -- this
one works on 2 motherboards with new BIOSes, no matter which PARAVIRT
options I turn on. I'll try this kernel on other mobos where possible,
and if no issue will be found, I'd declare the issue to be solved.

If not, I'll try to find some time to debug it later. After all, this
very issue is already worked around -- I enabled those options in order
to add (optimized) support for KVM guests, but for those I just built
another kernel flavour with only that config change.

Oh well.

And thank you for your support!

/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/