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

From: Jeremy Fitzhardinge
Date: Thu Sep 18 2008 - 15:27:20 EST


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?

As a separate experiment (which is really grasping at straws), does
putting memmap=64k$0 on the kernel command line help?

>> 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.
>>
>
> Two more Asus motherboards expose exactly the same problem.
>
> M3A-H/HDMI - AMD 780G/SB700, and
> M2N-VM - nVidia MCP67 / GeForce 7050
>
> And from the above, 3 more:
>
> M2NPV-VM - nVidia GeForce 6150/nForce 430
> M3A78-EM - AMD780G/SB700
> M2N-SLI DELUXE - nVidia MCP55 (unconfirmed)
>
> With new BIOSes and with CONFIG_PARAVIRT enabled in kernel,
> system does not boot. It seems the stalls happens at more
> or less random places, but the place is always the same on
> the same motherboard and different kernels -- f.e. my
> M3A78-EM always stops after "SLUB: " line as shown above,
> be it 32- or 64bits kernel, 2.6.26 or 2.6.26.5.
>

Thanks,
J
--
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/