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] iosapic virtualisation

To: Alex Williamson <alex.williamson@xxxxxx>
Subject: Re: [Xen-ia64-devel] iosapic virtualisation
From: Tristan Gingold <Tristan.Gingold@xxxxxxxx>
Date: Wed, 1 Feb 2006 10:11:40 +0100
Cc: xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Wed, 01 Feb 2006 08:18:06 +0000
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <1138737229.13596.96.camel@localhost>
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: <200601311229.57905.Tristan.Gingold@xxxxxxxx> <1138737229.13596.96.camel@localhost>
Sender: xen-ia64-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: KMail/1.5
Le Mardi 31 Janvier 2006 20:53, Alex Williamson a écrit :
> On Tue, 2006-01-31 at 12:29 +0100, Tristan Gingold wrote:
> > Hi,
> >
> > here is the path for iosapic virtualisation.
> > Currently this is just for review and comments.
>
> Hi Tristan,
>
>    Looks pretty good.  A few comments:
>
>       * The unmask patch of iosapic_guest_write() doesn't check the
>         domain before unmasking. Looks like maybe we could unmask
>         interrupts on the wrong domain.
Correct, I will add a check.
(However this can't happen currently, since only dom0 use iosapic).

>       * Please define a couple macros for the offset value used in
>         xen_iosapic_write(), rather than using 0 & 1.
Ok.

>       * There are a couple of debug additions to linux-xen/iosapic.c not
>         enclosed in #ifdef XEN.
Sorry, I will fix that.

>       * The vector-to-rte lookup in xen_reflect_interrupt_to_domain()
>         looks rather heavy weight.  It seems like we should be able to
>         construct the data structures for a direct look up here.  I
>         don't think we can afford to scan the rte list for every
>         interrupt.
I fully agree on the 'heavy weight' point.
I will create a global map.  I think this point should be revisited when we 
will switch from interrupts to event channel (if we do).

>       * Assigning vectors as defined by the domain; I think this is
>         covered by some of the comments included about future problems,
>         but maybe we should address this one now.  We should probably
>         start out with separate vector spaces between xen and each
>         domain and keep a mapping table between xen vectors (ie. what's
>         actually programmed into the IOSAPIC RTE) and what the domains
>         tried to program via iosapic_guest_write().  It's probably
>         reasonable to assign xen vectors from highest to lowest such
>         that xen will end up with the highest priority external
>         interrupts, dom0 the next highest, and so on.
I don't really understand your point here.
With the patch there is no relations between IOSAPIC vector and domain vector.  
That's the reason why there is an heavy weight look-up.  If we create a 
look-up table (see previous point), we do what you describe here, don't we ?

>       * We need to paravirtualize reads of the IOSAPIC as well as
>         writes.  Since the IOSAPICs use a windowing register scheme, a
>         domain reading an IOSAPIC could interfere with Xen writing or
>         cause races with other domains.  This will also enable us to
>         hide the physical IOSAPIC structure if we need to at some point.
Ok.  I think this point is rather moot because linux doesn't read IOSAPIC 
(except version, which is not windowed).  However for completion I will do 
it.

> I'll see if I can get this to build and run on my box.  Thanks,

Thank you for your comments,
Tristan.


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