[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [question] e1000 interrupt storm happened becauseof its
From: |
Jason Wang |
Subject: |
Re: [Qemu-devel] [question] e1000 interrupt storm happened becauseof its corresponding ioapic->irr bit always set |
Date: |
Mon, 25 Aug 2014 15:32:59 +0800 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.0 |
On 08/25/2014 03:17 PM, Zhang Haoyu wrote:
>>> Hi, all
>>> >>
>>> >> I use a qemu-1.4.1/qemu-2.0.0 to run win7 guest, and encounter e1000 NIC
>>> >> interrupt storm,
>>> >> because "if (!ent->fields.mask && (ioapic->irr & (1 << i)))" is always
>>> >> true in __kvm_ioapic_update_eoi().
>>> >>
>>> >> Any ideas?
>> >
>> >We meet this several times: search the autoneg patches for an example of
>> >workaround for this in qemu, and patch kvm: ioapic: conditionally delay
>> >irq delivery during eoi broadcast for an workaround in kvm (rejected).
>> >
> Thanks, Jason,
> I searched "e1000 autoneg" in gmane.comp.emulators.qemu, and found below
> patches,
> http://thread.gmane.org/gmane.comp.emulators.qemu/143001/focus=143007
> http://thread.gmane.org/gmane.comp.emulators.qemu/284105/focus=284765
> http://thread.gmane.org/gmane.comp.emulators.qemu/186159/focus=187351
> which one tries to fix this problem, or all of them?
>
>> >That was probably caused by something wrong in e1000 emulation which
>> >causes interrupt to be injected into windows guest before its interrupt
>> >handler is registered. And Windows guest does not have a mechanism to
>> >detect and disable irq in such condition.
>> >
> Sorry, I don't understand,
> I think one interrupt should not been enabled before its handler is
> successfully registered,
> is it possible that e1000 emulation inject the interrupt before the interrupt
> is succesfully enabled?
There's no way for qemu to know whether or not the irq handler was
registered in guest. So if qemu behaves differently with a physical
card, it may lead the interrupt to be injected into guest too early. You
can search redhat bugzilla for lots of related bugs, some even with
in-depth analysis.
Thanks
>
> Thanks,
> Zhang Haoyu
>
- Re: [Qemu-devel] [question] e1000 interrupt storm happened becauseof its correspondingioapic->irr bit always set, (continued)
- Re: [Qemu-devel] [question] e1000 interrupt storm happened becauseof its correspondingioapic->irr bit always set, Zhang Haoyu, 2014/08/25
- Re: [Qemu-devel] [question] e1000 interrupt storm happened becauseof its correspondingioapic->irr bit always set, Zhang Haoyu, 2014/08/26
- Re: [Qemu-devel] [question] e1000 interrupt storm happened becauseof its correspondingioapic->irr bit always set, Jason Wang, 2014/08/27
- Re: [Qemu-devel] [question] e1000 interrupt storm happened becauseofits correspondingioapic->irr bit always set, Zhang Haoyu, 2014/08/27
- Re: [Qemu-devel] [question] e1000 interrupt storm happened becauseofits correspondingioapic->irr bit always set, Jason Wang, 2014/08/28
- Re: [Qemu-devel] [question] e1000 interrupt storm happenedbecauseofits correspondingioapic->irr bit always set, Zhang Haoyu, 2014/08/28
- Re: [Qemu-devel] [question] e1000 interrupt storm happenedbecauseofits correspondingioapic->irr bit always set, Jason Wang, 2014/08/28
- Re: [Qemu-devel] [question] e1000 interrupt storm happenedbecauseofitscorrespondingioapic->irr bit always set, Zhang Haoyu, 2014/08/28
- Re: [Qemu-devel] [question] e1000 interrupt storm happenedbecauseofitscorrespondingioapic->irr bit always set, Zhang, Yang Z, 2014/08/29
- Re: [Qemu-devel] [question] e1000 interrupt storm happenedbecauseofitscorrespondingioapic->irr bit always set, Jason Wang, 2014/08/29
- Re: [Qemu-devel] [question] e1000 interrupt storm happened becauseof its corresponding ioapic->irr bit always set,
Jason Wang <=