From mboxrd@z Thu Jan 1 00:00:00 1970 From: "=?utf-8?B?WmhhbmcgSGFveXU=?=" Subject: =?utf-8?B?UmU6IFtRZW11LWRldmVsXSBbcXVlc3Rpb25dIGUxMDAwIGludGVycnVwdCBzdG9ybSBoYXBwZW5lZCBiZWNhdXNlb2ZpdHMgY29ycmVzcG9uZGluZ2lvYXBpYy0+aXJyIGJpdCBhbHdheXMgc2V0?= Date: Wed, 27 Aug 2014 17:31:51 +0800 Message-ID: <201408271731497879013@sangfor.com> References: <201408231836387399956@sangfor.com>, <53FAA874.70703@redhat.com>, <201408251517235889695@sangfor.com>, <53FAE5EB.8080809@redhat.com>, <201408261728240882530@sangfor.com>, <53FD681D.7070602@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit To: "=?utf-8?B?SmFzb24gV2FuZw==?=" , "=?utf-8?B?cWVtdS1kZXZlbA==?=" , "=?utf-8?B?a3Zt?=" Return-path: Received: from smtp.sanfor.com ([58.251.49.30]:37520 "EHLO mail.sangfor.com" rhost-flags-OK-FAIL-OK-OK) by vger.kernel.org with ESMTP id S932693AbaH0Je3 (ORCPT ); Wed, 27 Aug 2014 05:34:29 -0400 Sender: kvm-owner@vger.kernel.org List-ID: >>>>>> 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 >>> This series is the first try to fix the guest hang during guest >>> hibernation or driver enable/disable. >>>> http://thread.gmane.org/gmane.comp.emulators.qemu/284105/focus=284765 >>>> http://thread.gmane.org/gmane.comp.emulators.qemu/186159/focus=187351 >>> Those are follow-up that tries to fix the bugs introduced by the autoneg >>> hack. >>>> which one tries to fix this problem, or all of them? >>> As you can see, those kinds of hacking may not as good as we expect >>> since we don't know exactly how e1000 works. Only the register function >>> description from Intel's manual may not be sufficient. And you can >>> search e1000 in the archives and you can find some behaviour of e1000 >>> registers were not fictionalized like what spec said. It was really >>> suggested to use virtio-net instead of e1000 in guest. >> Will the "[PATCH] kvm: ioapic: conditionally delay irq delivery during eoi broadcast" add delay to virtual interrupt injection sometimes, >> then some time delay sensitive applications will be impacted? > >I don't test it too much but it only give a minor delay of 1% irq in the >hope of guest irq handler will be registered shortly. But I suspect it's >the bug of e1000 who inject the irq in the wrong time. Under what cases >did you meet this issue? Some scenarios, not constant and 100% reproducity, e.g., reboot vm, ifdown e1000 nic, install kaspersky(network configuration is performed during installing stage), .etc. Thanks, Zhang Haoyu >> >> Thanks, >> Zhang Haoyu