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-ia64-devel] Time for hybrid virtualization?

To: xen-ia64-devel <xen-ia64-devel@xxxxxxxxxxxxxxxxxxx>
Subject: Re: [Xen-ia64-devel] Time for hybrid virtualization?
From: Alex Williamson <alex.williamson@xxxxxx>
Date: Thu, 17 Jan 2008 10:58:08 -0700
Delivery-date: Thu, 17 Jan 2008 09:58:28 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <1200528127.6773.88.camel@lappy>
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>
Organization: HP OSLO R&D
References: <1200528127.6773.88.camel@lappy>
Sender: xen-ia64-devel-bounces@xxxxxxxxxxxxxxxxxxx
Hi all,

   Lots of really good discussion, thanks!  At this point, I don't see a
need to remove any of the PV guest interfaces or in any way prevent
running PV domains.  I'm looking at the hybrid approach more as a means
to get support upstream with fewer, less intrusive changes to the base
Linux kernel.  Xen started from a fully PV approach because that was the
processor technology at the time.  Now that VT is here and performs as
well as PV, at least on ia64, I think we might need to step back and
figure out where PV makes sense.  Can we, in good conscience, try to
push patches supporting PV dom0/domU into upstream Linux when it only
buys us a couple percent (if that) over much less intrusive patches?
There's obviously some need for support on non-VT capable processors
today, but will those needs exist in a few years or will the code to
support them just become cruft in the kernel?  In my mind, starting with
a requirement of VT doesn't preclude adding PV interfaces later to
support non-VT processors if it's still necessary.  I would expect
RHEL5.x will always support a PV dom0 and not require VT processors for

   I think Anthony and I are thinking similarly about what a VT mode
dom0 might look like.  The processor would run in VT mode, but have
direct access to hardware, make use of the platform firmware, and
maintain things like event channels and balloon drivers from PV-type
code.  I think the emphasis would be on using common PV code shared with
other architectures and using VT to reduce the code changes required for
architecture code.  Anthony mentioned platform detection could be done
with CPUID, but there are even easier methods like changing the OEM ID
on ACPI tables.  Intercepting firmware calls looks like an area that
would need some new code, but I don't see any insurmountable problems
there.  I think with hybrid virtualization, we could treat the ia64
specific boot code as if we were running on any other DIG64 compliant
system, and PV-type functionality will get added later in a more
plug-able, modular way.

   More benchmarking and performance analysis would be nice, but PV
interfaces can always be added later where it makes sense and can be
well architected.  We also need to think about what functionality we
might lose.  Driver domains come to mind here.  PV driver domains aren't
exactly safe today, would it be any worse if we tried to do PCI
pass-through before we get VT-d?  We also don't currently have HVM
domain migration, but that seems like a short term problem.

   I think we all recognize that getting upstream Linux support for
Xen/ia64 is going to be a huge amount of work.  We imagined the steps to
achieve this would start with PV domU support, then follow-on with PV
dom0 support.  With this hybrid approach, I think we would start with VT
mode dom0, then consider whether to implement a PV domU or dom0 as the
follow-on.  We would need to make some changes in Xen to support dom0 VT
mode, but is it more than the effort required to re-architect xenlinux
into something acceptable to upstream?  Which is better long term for
Linux?  In the end, it's a community decision on how we proceed, I
certainly can't do this work on my own.  Thanks,


Alex Williamson                             HP Open Source & Linux Org.

Xen-ia64-devel mailing list

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