From mboxrd@z Thu Jan 1 00:00:00 1970 From: Qing He Subject: Re: [PATCH 0/6] MSI-INTx interrupt translation for HVM Date: Mon, 2 Mar 2009 17:24:40 +0800 Message-ID: <20090302092440.GA22064@ub-qhe2> References: <20090302161339.8372.CB716985@necst.nec.co.jp> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Content-Disposition: inline In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Keir Fraser Cc: "xen-devel@lists.xensource.com" , Shohei Fujiwara List-Id: xen-devel@lists.xenproject.org On Mon, 2009-03-02 at 16:47 +0800, Keir Fraser wrote: > On 02/03/2009 07:19, "Shohei Fujiwara" wrote: > > > Today, I found the hypervisor issues EOI ASAP. So Qing's explanation > > reflected the implementation of the hypervisor. > > > > xen/drivers/passthrough/io.c: > > void hvm_dirq_assist(struct vcpu *v) > > { > > ... > > if ( hvm_irq_dpci->mirq[irq].flags & HVM_IRQ_DPCI_TRANSLATE ) > > { > > /* for translated MSI to INTx interrupt, eoi as early as > > possible */ > > __msi_pirq_eoi(d, irq); > > } > > Ah, well the passthrough-specific logic is not something I'm so familiar > with! That above code indeed doesn't look correct. :-) I recently learned that some device may keep issuing MSI until it is explicitly cleared by software. In that case it just behaves like level-triggered interrupt, and doing something like the code above will cause interrupt storm. This is reflected in cs. 19065. Do you mean this issue? Thanks, Qing > > -- Keir > >