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] Interrupt forwarding

To: Keir Fraser <Keir.Fraser@xxxxxxxxxxxx>
Subject: Re: [Xen-devel] Interrupt forwarding
From: Jon Smirl <jonsmirl@xxxxxxxxx>
Date: Sun, 13 Mar 2005 11:49:23 -0500
Cc: xen-devel@xxxxxxxxxxxxxxxxxxxxx, Ian Pratt <m+Ian.Pratt@xxxxxxxxxxxx>, ian.pratt@xxxxxxxxxxxx
Delivery-date: Sun, 13 Mar 2005 19:38:00 +0000
Domainkey-signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:reply-to:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:references; b=lahG+5/WJ86cU2fVnCghRy6bO9WMo6iycwNHxXLz4H2xB0g1OZ2pe6YWtcm/SU4WRKgK5UczSmnBXL5R+breQVj5ic4x0lOW+XTYJ+pYobtL/gcTIJbZmGNH8R7nzu5IoFBOEOr9lK+vlww8KWbYMZK+bsOUAT9ebp1mcN8nNXo=
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <5d91cd530ace01c1b50c26454b435ab1@xxxxxxxxxxxx>
List-archive: <http://sourceforge.net/mailarchive/forum.php?forum=xen-devel>
List-help: <mailto:xen-devel-request@lists.sourceforge.net?subject=help>
List-id: List for Xen developers <xen-devel.lists.sourceforge.net>
List-post: <mailto:xen-devel@lists.sourceforge.net>
List-subscribe: <https://lists.sourceforge.net/lists/listinfo/xen-devel>, <mailto:xen-devel-request@lists.sourceforge.net?subject=subscribe>
List-unsubscribe: <https://lists.sourceforge.net/lists/listinfo/xen-devel>, <mailto:xen-devel-request@lists.sourceforge.net?subject=unsubscribe>
References: <A95E2296287EAD4EB592B5DEEFCE0E9D1E3607@xxxxxxxxxxxxxxxxxxxxxxxxxxx> <9e47339105031212076030c603@xxxxxxxxxxxxxx> <edb729416f39721ffa95b12180828c5d@xxxxxxxxxxxx> <9e473391050313075613352bba@xxxxxxxxxxxxxx> <5d91cd530ace01c1b50c26454b435ab1@xxxxxxxxxxxx>
Reply-to: Jon Smirl <jonsmirl@xxxxxxxxx>
Sender: xen-devel-admin@xxxxxxxxxxxxxxxxxxxxx
On Sun, 13 Mar 2005 16:01:19 +0000, Keir Fraser
<Keir.Fraser@xxxxxxxxxxxx> wrote:
> But Xen does support shared IRQs. They're not as good as a separate IRQ
> per device from an isolation pov, but would you really expect
> otherwise?

Does Xen require the IRQ handler to run in the supervisor or domain?
If it is in the domain and the domain dies, what do you do about the
interrupt that keeps interrupting because there is no more code to
acknowledge it? If you shut it off at the PIC you shut off all devices
on that interrupt.

A proposal was recently made on lkml that request_irq would also pass
in a structure that would enable the kernel to acknowledge the IRQ
without the handler being there. Xen could pass info like that from
the domain back to the supervisor. Then in the domain dies the
supervisor has the info needed to shut off the specific interrupt.

On Fri, 11 Mar 2005 19:14:13 +0000, Alan Cox <alan@xxxxxxxxxxxxxxxxxxx> wrote:
> I posted a proposal for this sometime ago because X has some uses for
> it. The idea being you'd pass a struct that describes
> 1.      What tells you an IRQ occurred on this device
> 2.      How to clear it
> 3.      How to enable/disable it.
> Something like
>         struct {
>                 u8 type;                /* 8, 16, 32  I/O or MMIO */
>                 u8 bar;                 /* PCI bar to use */
>                 u32 offset;             /* Into bar */
>                 u32 mask;               /* Bits to touch/compare */
>                 u32 value;              /* Value to check against/set */
>         }

It might useful to add this to the main kernel API, and then over time
modify all of the drivers to use it. If a driver does this it would be
safe to transparently move it to user space like in UML or xen.  I've
been told that PCI Express and MSI does not have this problem.

>   -- Keir

Jon Smirl

SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
Xen-devel mailing list

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