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: Jan Beulich <JBeulich@xxxxxxxxxx>
Subject: Re: [Xen-devel] pvops-2.6.32 - Interrupt routing problem
From: Bastian Blank <waldi@xxxxxxxxxx>
Date: Tue, 23 Mar 2010 16:49:04 +0100
Cc: Jeremy Fitzhardinge <jeremy@xxxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>, Keir Fraser <keir.fraser@xxxxxxxxxxxxx>, Xiantao Zhang <xiantao.zhang@xxxxxxxxx>, Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
Delivery-date: Tue, 23 Mar 2010 08:49:31 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <4BA8D878020000780003674B@xxxxxxxxxxxxxxxxxx>
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: <20100316013114.GD7622@xxxxxxxxxxxxxxxxxxx> <20100316081832.GA20502@xxxxxxxxxxxxxxxxxxxxxxx> <20100316153216.GB28821@xxxxxxxxxxxxxxxxxxx> <20100316182053.GA2258@xxxxxxxxxxxxxxxxxxxxxxx> <20100319113904.GA29200@xxxxxxxxxxxxxxxxxxxxxxx> <20100319121341.GA30270@xxxxxxxxxxxxxxxxxxxxxxx> <20100321214723.GA29738@xxxxxxxxxxxxxxxxxxxxxxx> <4BA8B62402000078000366E8@xxxxxxxxxxxxxxxxxx> <20100323123756.GA6656@xxxxxxxxxxxxxxxxxxxxxxx> <4BA8D878020000780003674B@xxxxxxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mutt/1.5.18 (2008-05-17)
On Tue, Mar 23, 2010 at 02:04:24PM +0000, Jan Beulich wrote:
> >In the Linux kernel, xen_register_gsi (arch/x86/xen/pci.c). The io-apic
> Ah, okay. The way you wrote it I read that PHYSDEVOP_setup_gsi
> would do the unmasking. And looking at xen_register_gsi(), I can't
> really see where it would unmask the interrupt either. The only place
> I see it getting unmasked is in startup_pirq() (through
> EVTCHNOP_bind_pirq).

Are you ignoring that we speak about the IO-APIC code in Xen? This have
nothing to do with EVTCHNOP_bind_pirq.

> >support in Xen is a copy of the Linux code and behaves similar.
> Mostly, but not in all details.

Well, this is nit-picking. The behaviour is the same.

> >No. The interrupt setup is always done before the device setup. This is
> >core kernel functionality.
> Yes. But that is unrelated to the choice of keeping masked/unmasking
> certain interrupts.

No. Interrupts are unmasked before the device is configured.

> >Please explain why you think this is restricted to edge triggered. This
> >is called from the PCI interrupt setup, and usualy used with level
> >triggered interrupts.
> This is simply what Linux does (at the end of setup_ioapic_entry()).

No, it is not. This function is not used while running under Xen.

Native uses io_apic_set_pci_routing via mp_register_gsi to setup the
GSI. In the Xen case this functionality is hidden behind


        "Beauty is transitory."
        "Beauty survives."
                -- Spock and Kirk, "That Which Survives", stardate unknown

Xen-devel mailing list