From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:58290) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XNDnY-0004MC-3q for qemu-devel@nongnu.org; Fri, 29 Aug 2014 00:28:34 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XNDnO-0007XP-K1 for qemu-devel@nongnu.org; Fri, 29 Aug 2014 00:28:28 -0400 Received: from mx1.redhat.com ([209.132.183.28]:48829) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XNDnO-0007XF-By for qemu-devel@nongnu.org; Fri, 29 Aug 2014 00:28:18 -0400 Message-ID: <54000156.9050401@redhat.com> Date: Fri, 29 Aug 2014 12:28:06 +0800 From: Jason Wang MIME-Version: 1.0 References: <201408231836387399956@sangfor.com>, <53FAA874.70703@redhat.com>, <201408251517235889695@sangfor.com>, <53FAE5EB.8080809@redhat.com>, <201408261728240882530@sangfor.com>, <53FD681D.7070602@redhat.com>, <201408271731497879013@sangfor.com>, <201408282055150251894@sangfor.com> <201408291114352277288@sangfor.com> In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [question] e1000 interrupt storm happenedbecauseofitscorrespondingioapic->irr bit always set List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: "Zhang, Yang Z" , Zhang Haoyu , qemu-devel , kvm , Gleb Natapov , "Michael S.Tsirkin" On 08/29/2014 12:07 PM, Zhang, Yang Z wrote: > Zhang Haoyu wrote on 2014-08-29: >> > Hi, Yang, Gleb, Michael, >> > Could you help review below patch please? > I don't quite understand the background. Why ioacpi->irr is setting before EOI? It should be driver's responsibility to clear the interrupt before issuing EOI. > This may happen when a interrupt was injected to guest when its irq handler (driver) was not registered. So irr was still set even during EOI broadcast, and then this irq will be injected to guest immediately. This may cause a dead loop for guest who does not have the ability to detect and disable interrupt storm. This may be a bug of device model, but we want to know in real cpu, is there a small time gap between the finish of EOI broadcast and the interrupt raised by EOI? If yes, looks like KVM should emulate this behaviour? Thanks