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


[Xen-devel] Re: Physical and dynamic event channels

To: Keir Fraser <Keir.Fraser@xxxxxxxxxxxx>
Subject: [Xen-devel] Re: Physical and dynamic event channels
From: Jeremy Fitzhardinge <jeremy@xxxxxxxx>
Date: Fri, 11 Aug 2006 08:04:33 -0700
Cc: Chris Wright <chrisw@xxxxxxxxxxxx>, xen-devel@xxxxxxxxxxxxxxxxxxx, Ian Campbell <Ian.Campbell@xxxxxxxxxxxxx>
Delivery-date: Fri, 11 Aug 2006 08:28:27 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <C1020E1C.C3B%Keir.Fraser@xxxxxxxxxxxx>
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/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <C1020E1C.C3B%Keir.Fraser@xxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Thunderbird (X11/20060613)
Keir Fraser wrote:
256 would be enough for anyone I think. domain0 is obviously the main user
of event channels but most of those are demuxed to userspace rather than the
kernel IRQ space.

Adding a level of indirection for non-domain-0 wouldn't be too hard. We have
control over which IRQ a PCI device driver thinks it is binding to because
we control the PCI config space via pciback. We need more care for older
devices, but could arrange that by maintaining a 1:1 mapping for legacy PIC
irq range (0 to 15).

Doing the same for domain 0 is probably more 'exciting'. If we could force
the 'vector space' IRQ allocation strategy of PCI_MSI then I think this is
more plausible -- since that effectively gives a level of indirection from
the GSI space. The vectors that Xen currently hands out to domain0 are real
vector numbers but, of course, it would be trivial to add a level of
indirection there, or in the caller.

This all raises an obvious question: what do you think the scope of work for
upstream merging right now should be? Previously it was non-driver domUs
only (and a simplified form at that). Are you thinking about upstreaming
everything, or is this just review and preparation for that effort in the

My plan is:

  1. simple domU (UP only, shadow page tables, no pciback)
  2. domU SMP (to really exercise the paravirt interface)
  3. add more to domU (explicit MMU ops, optimising, etc)
  4. port to x86-64
  5. dom0

Once the paravirt version of simple domU is working, it will be time to consider how to sync all this with the xen-unstable tree. Also after step 1, I don't have any strong feelings about the order. I haven't really looked into what the dom0 work really requires, so I'm not sure whether it can start early, or if it would be best done once domU is relatively sophisticated. Similarly I'm not sure how much work would be required for 64-bit (though an obvious prerequisite is that we implement paravirtops for x86-64).

As far as the event channels stuff goes, I think I'll keep it as simple as possible for now, and just support as much as needed to get domU going, with a view to making it more complex later.


Xen-devel mailing list

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