From mboxrd@z Thu Jan 1 00:00:00 1970 From: Keir Fraser Subject: Re: HVM windows - PCI IRQ firing on both CPU's Date: Mon, 18 Aug 2008 13:36:45 +0100 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Return-path: 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: James Harper , xen-devel@lists.xensource.com List-Id: xen-devel@lists.xenproject.org On 18/8/08 13:32, "James Harper" wrote: > I'm not sure if this is a general or a windows specific question, but I > can approach this in one of two ways... > > 1. Make sure the interrupt is only ever delivered to CPU0 by specifying > the affinity when I call IoConnectInterrupt > 2. Accept the interrupt on any CPU but always use vcpu_info[0] to check > the flags etc. (2) will suffice. It's what we do in Linux PV-on-HVM drivers. > Does the hypervisor make any scheduling assumptions upon delivering an > event to a domain? (eg does it schedule CPU0 on the basis that that CPU > is going to be handling the event?) No, the HVM interrupt emulation will cause the correct vcpu to be scheduled (i.e., the one that the IOAPIC/PIC forwards the interrupt to). It's just that the interrupt pin is hardwired to vcpu0's event-pending flag. -- Keir