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: "Tristan Gingold" <Tristan.Gingold@xxxxxxxx>, "Magenheimer, Dan \(HP Labs Fort Collins\)" <dan.magenheimer@xxxxxx>, <xen-ia64-devel@xxxxxxxxxxxxxxxxxxx>
Subject: RE: [Xen-ia64-devel] vIOSAPIC and IRQs delivery
From: "Dong, Eddie" <eddie.dong@xxxxxxxxx>
Date: Tue, 7 Mar 2006 18:38:26 +0800
Delivery-date: Tue, 07 Mar 2006 10:39:25 +0000
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
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>
Sender: xen-ia64-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: AcZBxm7GZDmaNh4jTG2B6rbuRPYS6AACyh+A
Thread-topic: [Xen-ia64-devel] vIOSAPIC and IRQs delivery
Tristan Gingold wrote:
> Le Mardi 07 Mars 2006 00:34, Dong, Eddie a écrit :
>> Magenheimer, Dan (HP Labs Fort Collins) wrote:
>>> Hi Tristan --
>>> 
>>> Do you have any more design information?  I'm not very
>>> familiar with the x86 implementation but is it your intent
>>> for it to be (nearly) identical?  What would be different?
>> 
>> The difference is that should guest OS (para xen) still access the
>> IOSAPIC MMIO port? If the guest OS keeps accessing the machine
>> IOSAPIC MMIO address, multiple driver domain share same IRQ has
>> potential problem. The design in my opnion is that hypervisor own
>> the machine IOSAPIC resource exclusively including reading IVR and
>> issuing CR.EOI. All the guest is working with a pure virtual IOSAPIC
>> or virtual IO_APIC (actually doesn't matter for guest).
> [Note that IVR and CR.EOI are LSAPIC stuff.]
So should we use a new term virtual IRQ or interrupt virtualization?
Both LSAPIC and IOSAPIC need to be done in vIRQ.
BTW, RTE is still accessed by para-guest in previous patch :-)
Writing of RTE in machine resource from one domain will 
impact the correctness of other domain if they share same 
IRQ line.

> 
>>> Would all hardware I/O interrupts require queueing by
>>> Xen in an event channel?  This seems like it could be
>>> a potential high overhead performance issue.
> There are two things:
> * delivery of IRQs through event channel.  I am not sure about
> performance impact (should be almost the same).  I am sure about
> linux modification impact (new files added, interrupt low-level
> handling completly modified). 
I don't see too much Linux modifications here as most of  these files are 
already in xen.
You can find them if you compile a X86 Xen, see linux/arch/xen/kernel/** , all 
those event channel related file are there including the PIRQ dispatching.
 In some sense, the whole IOSAPIC.c file is no longer a must. 

> 
> * Use of callback for event channel (instead of an IRQ).
>   I suppose it should be slightly faster.  I suppose this is required
> (for speed reasons) if we deliver IRQs through event-channel.
> 
>> Mmm, I have different opnion here. With all guest physical IRQ
>> queueing by Xen event channel through a bitmap that is shared in
>> para-guest, the guest OS no longer needs to access IVR and EOI now,
>> that means we don't need to trap into hypervisor. Checking the
>> bitmap is defenitely higher performance than read IVR, in this way
>> the performance is improved actually.
> I really think this is not that obvious due to hyper-privop and
> hyper-reflexion.
This is basically the difference between hypercall and using share memory. 
Hard to say the amount but benefits is clear, although as this code is 
frequently accessed especially 
for driver domain where there are a lot of IRQs.

> Please start (maybe using some mails we have exchanged).  I will
> complete if necessary.
Yes, I have sent u some drafts. 
Eddie


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