This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


Re: [Xen-devel] pvops-2.6.32 - Interrupt routing problem

To: Bastian Blank <waldi@xxxxxxxxxx>
Subject: Re: [Xen-devel] pvops-2.6.32 - Interrupt routing problem
From: Jeremy Fitzhardinge <jeremy@xxxxxxxx>
Date: Sun, 21 Mar 2010 23:24:30 -0700
Cc: "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>, Keir Fraser <keir.fraser@xxxxxxxxxxxxx>, "Zhang, Xiantao" <xiantao.zhang@xxxxxxxxx>, Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
Delivery-date: Sun, 21 Mar 2010 23:26:10 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <20100321214723.GA29738@xxxxxxxxxxxxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <EB8593BCECAB3D40A8248BE0B6400A38464169F7@xxxxxxxxxxxxxxxxxxxxxxxxxxxxx> <20100315101126.GA24650@xxxxxxxxxxxxxxxxxxxxxxx> <EB8593BCECAB3D40A8248BE0B6400A38464AE52E@xxxxxxxxxxxxxxxxxxxxxxxxxxxxx> <20100315211459.GA9314@xxxxxxxxxxxxxxxxxxxxxxx> <20100316013114.GD7622@xxxxxxxxxxxxxxxxxxx> <20100316081832.GA20502@xxxxxxxxxxxxxxxxxxxxxxx> <20100316153216.GB28821@xxxxxxxxxxxxxxxxxxx> <20100316182053.GA2258@xxxxxxxxxxxxxxxxxxxxxxx> <20100319113904.GA29200@xxxxxxxxxxxxxxxxxxxxxxx> <20100319121341.GA30270@xxxxxxxxxxxxxxxxxxxxxxx> <20100321214723.GA29738@xxxxxxxxxxxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv: Gecko/20100301 Fedora/3.0.3-1.fc12 Lightning/1.0b2pre Thunderbird/3.0.3
On 03/21/2010 02:47 PM, Bastian Blank wrote:
On Fri, Mar 19, 2010 at 01:13:41PM +0100, Bastian Blank wrote:
The real fix could be:
- Allow the hypervisor to lock interrupts it uses. Zero would be in it by
   default. The interrupt for the used serial interface would be added.
   All other pins are free to be programmed by the kernel once.
- Don't do register_gsi calls from the initial setup in the kernel if no
   ACPI override is present, only setup the rest.
Okay, I think I found another problem. Currently the setup looks like
- PHYSDEVOP_setup_gsi: set trigger and polarity, unmask pin
- PHYSDEVOP_map_pirq: map to pirq, set irq handler to guest

If an interrupt fires between this two calles, what happens?

Doesn't sound like a good thing to be doing. The unmask should probably be deferred until everything has been set up to receive an interrupt.

Usually I would do the setup the other way around. This would also make
it possible to use the irq table to allow the kernel to only set IO-APIC
pins mapped to already properly registered interrupts.

Sounds reasonable.


Xen-devel mailing list

<Prev in Thread] Current Thread [Next in Thread>