WARNING - OLD ARCHIVES

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/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-ia64-devel

Re: [Xen-ia64-devel] vIOSAPIC and IRQs delivery

To: "Dong, Eddie" <eddie.dong@xxxxxxxxx>, "Alex Williamson" <alex.williamson@xxxxxx>, "Magenheimer, Dan \(HP Labs Fort Collins\)" <dan.magenheimer@xxxxxx>
Subject: Re: [Xen-ia64-devel] vIOSAPIC and IRQs delivery
From: Tristan Gingold <Tristan.Gingold@xxxxxxxx>
Date: Thu, 9 Mar 2006 09:15:51 +0100
Cc: xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Thu, 09 Mar 2006 08:13:05 +0000
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <26F44F810A51DF42A127BC2A06BE185E03D65105@pdsmsx404>
List-help: <mailto:xen-ia64-devel-request@lists.xensource.com?subject=help>
List-id: Discussion of the ia64 port of Xen <xen-ia64-devel.lists.xensource.com>
List-post: <mailto:xen-ia64-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ia64-devel>, <mailto:xen-ia64-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ia64-devel>, <mailto:xen-ia64-devel-request@lists.xensource.com?subject=unsubscribe>
References: <26F44F810A51DF42A127BC2A06BE185E03D65105@pdsmsx404>
Sender: xen-ia64-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: KMail/1.5
Le Jeudi 09 Mars 2006 00:57, Dong, Eddie a écrit :
> Alex Williamson wrote:
> > On Wed, 2006-03-08 at 12:00 -0800, Magenheimer, Dan (HP Labs Fort
> >
> > Collins) wrote:
> >>>    We agree IOSAPIC must belong to Xen.  And it should be able to
> >>> deliver interrupts to domains and handle shared IRQs.
> >>
> >> Did I miss an answer to Tristan's earlier question,
> >> which was approximately: How many systems out there
> >> require shared IRQ's?  I realize there are some huge
> >> mainframe-class boxes that have hundreds of I/O cards
> >> that probably do require shared IRQ's, but I wonder
> >> if this class of machine will even consider using
> >> Xen?  Mainframe-class machines have other partitioning
> >> technologies with customer-expected features that Xen
> >> will never have (such as hardware fault containment).
> >
> >    Hopefully I'm not stepping into a rat-hole here, but what are we
> > defining as a shared IRQ?  If we're only talking about running out of
> > external interrupt vectors on the CPU and programming multiple IOSAPIC
> > RTEs to trigger the same vector, I agree.  That case requires are
> > rather large system.  Eventually we should support this, but things
> > like interrupt domains may be a better long term solutions.
>
> Thanks!
> The problem is that Xen already support it by default, the solution is
> already there.
> What we do is just to use it :-) Linux already support this !
> Then why IA64 want to remove this support and leave an extra effort to
> future.
> If it is a new one, I would say yes we should start from simple.
I also agree with enabling shared interrupt.

> > Then the third question:  Is there a performance
> > cost for shared IRQ support, even on systems that
> > don't share IRQ's?  Is there an additional
> > performance cost for sharing an IRQ across domains?
> > With each NIC card capable of generating thousands
> > of interrupts/second, it doesn't seem wise to
> > add additional overhead to every interrupt on
> > every Xen system to support the possibility that
> > someone may want to configure a system to share
> > IRQs across domains.
>
> The extra overhead cost in shared IRQ support approach is 0. When this
> IRQ
>  is not shared, xen just inject it into guest, no extra logic.
I agree too on this point.

> Event
> channel
> based pirq handling is much faster than vIOSAPIC based solution as we
> have conducted in previous discussion.
See my next mail.  I'd like to be convinced.

> Some basic conclusion from previous mail include:
> 1: Event channel based solution has better performance than vIOSAPIC.
> The detail amount is hard to say now, and should depend on benchmark
> tool.
Again see my next mail.

> 2: Event channel based solution can support shared IRQ lines amongst
> domains without any extra logic.
We don't need event channel to share IRQs.

> 3: Stability:
> Event channel based solution has undergone long time well test and real
> deployment,
> but vIOSAPIC is not. BTW, IRQ is very important in OS, a race condition
> issue may cost people weeks or even months debug effort.
I don't agree.  Current logic is much more tested than event channel, at least 
on ia64!
Radical changes are much more worrying.

> Some statement people are still arguing:
> 4: Which one change linux less ?
>     My answer is still event channel based solution, as all event
> channel code are xen common and
> is already in (VBD/VNIF use it).
You will have to change iosapic.c almost like my change, see io_apic-xen.c and 
adding new event-channel irq_type.

>
> 5: Which one is much transparent?
>    Event channel based solution only needs to do in initial time using
> if running_on_xen
> to choice different type hardware interrupt object (i.e. pirq_type vs,
> iosapic level_irq_type
>  and edge_xxx). After that no extra code.
>   vIOSAPIC need to check runtime for every IOSAPIC MMIO access.
Checking running_on_xen costs nothing.  If you fear about that, forget 
transparent virtualization.

> 6: Stability of future:
>    My answer is clear, fixing an intial time bug only costs one-tenth of
> runtime bug. Eventchannel based solution only change intial time code.
Current interrupt delivery is stable.  Why changing something which is working 
?

Tristan.

_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel

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