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-devel

Re: [Xen-devel] pv_ops with xen-3.3

To: xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: Re: [Xen-devel] pv_ops with xen-3.3
From: Mark Williamson <maw48@xxxxxxxxxx>
Date: Tue, 10 Feb 2009 18:25:15 +0000
Cc: jonr@xxxxxxxxxx
Delivery-date: Tue, 10 Feb 2009 10:25:42 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <20090210082635.wm2poy7x1c0c4k88@xxxxxxxxxxxxxx>
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/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <20090210075548.pcng3y8j0ro8scog@xxxxxxxxxxxxxx> <200902101709.46828.mark.williamson@xxxxxxxxxxxx> <20090210082635.wm2poy7x1c0c4k88@xxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: KMail/1.11.0 (Linux/2.6.27-11-generic; KDE/4.2.0; i686; ; )
On Tuesday 10 February 2009 17:26:35 jonr@xxxxxxxxxx wrote:
> Thanks for the run down Mark. During the 'make menuconfig' I saw an
> option for dom0 support for the kernel, so i was under the impression
> that support was there.

Heh, well maybe it is in that case!  I just took a quite look at lwn.net's 
merge summaries for the start of the 2.6.29 cycle (when most significant merges 
usually go in) but I suppose it could either have slipped under their radar or 
gone in later.  I haven't been following the detailed progress of the dom0 
pv_ops stuff for some time now so it's entirely possible I'm wrong.

> I was just wanting to play around with it and
> see what happens. :)

If it says it supports it then I think that's worth doing ;-)

> OK, this may sound stupid but I gotta ask. :)
>
> If support for dom0 does make it into mainline kernel will there be a
> need to download xen versions any longer? Will Xen still need to be
> built against a kernel that already has support for it inside the
> kernel? If not, how would I tell what version of Xen I am using.
>
> Like I said, that may sound stupid but had to ask.

Not at all, it's a slightly complicated issue that's compounded by the fact 
that Xen and dom0 kernel versions *used* to need to be built together (that 
hasn't been the case for a while now).

Xen - the hypervisor - is it's own piece of software.  It's not built 
"against" Linux as-such - it's not like building a module, more like building 
a separate kernel.  It's self-contained.

To run a Xen-based system you need a dom0-aware kernel to control all the 
devices, etc.  This is booted initially and takes the role of the host system.  
The patches for dom0 awareness as more invasive to the kernel than the patches 
for domU functionality alone, so the domU patches got merged upstream whilst 
the dom0 patches have taken a bit longer.  In the meantime the 2.6.18 fork 
maintained alongside Xen has carried the dom0 functionality and various groups 
have forward-ported it to newer kernels for their particular distro.

There's a set of Xen tools that run in dom0's userspace, these do need to 
match the Xen version you're running AFAIK.  They poke information down into 
(and up out of) Xen using management APIs that dom0's kernel doesn't really 
care about.

Getting dom0 support upstream basically means that the Xen team shouldn't have 
to keep maintaining a fork of 2.6.18 (eventually, anyhow) to contain dom0 
functionality - you'd just build Xen + tools, build a dom0-aware kernel.org 
Linux and run with that.  This makes it easier for sysadmins and distros to 
build up-to-date dom0 kernels and reduces the amount of code the Xen team must 
maintain.

As a bonus, the pv_ops kernels are capable of booting paravirtual on Xen or 
natively on real hardware (or paravirt on VMware, or on lguest, or possibly 
KVM paravirt I think) - using the *same* kernel image.  So in future, if 
distros supply appropriately built kernels then you can run the same kernel 
build under Xen, native and anything else you want.  The pv_ops people have 
taken some care to minimise the performance hit incurred by this.

HTH,
Cheers,
Mark

> Jon
>
> Quoting Mark Williamson <mark.williamson@xxxxxxxxxxxx>:
> > Hi there Jon,
> >
> > The Xen build process builds a XenLinux using patches in the Xen
> > repository, which are based on 2.6.18.  This includes full support of all
> > features under both dom0 and domU.
> >
> > The mainline Linux kernel has included - for some time - support for
> > running as a Xen domU through its pv_ops infrastructure.  This support
> > has been getting full-featured and AFAIK most or all domU functions are
> > now available using appropriately-built kernel.org kernels.
> >
> > Support for running as dom0 requires a kernel to support additional
> > features on top of the standard domU featureset.  Mainline Linux has not
> > had these in any releases - and as far as I can tell the full dom0
> > functionality hasn't been merged into 2.6.29.  I could be wrong about
> > this though, the Xen wiki states 2.6.29 as a merge goal; if it's not in
> > that release I'd
> > imagine it'd be
> > in the next one.
> >
> > So, in summary:
> >
> > If you want to run a kernel.org kernel as a domU then any recent release
> > will do.
> >
> > If you want to run a kernel.org kernel as a dom0 using pv_ops dom0
> > support then you may need to seek out and apply additional patches.
> >
> > If you want to get a kernel.org kernel to run on dom0 out-of-the-box then
> > you may need to wait for the next release.
> >
> > You need to get a dom0 kernel from somewhere, so if you're not bothered
> > about using the latest-and-greatest from kernel.org you can use the one
> > built with Xen.
> >
> > Does that make sense?
> >
> > The upstream merge of Xen functionality into kernel.org has taken
> > years longer
> > than originally anticipated, however the good news is that Jeremy
> > Fitzhardinge
> > has been doing a tremendous job of leading the effort and getting
> > progressively
> > more stuff in a state that is acceptable to the upstream community.
> >  Hopefully
> > in the future kernel.org Linux will have full out-of-the-box support for
> > Xen and the 2.6.18-based fork will no longer be needed at all.
> >
> > Cheers,
> > Mark
> >
> > On Tuesday 10 February 2009 16:55:48 jonr@xxxxxxxxxx wrote:
> >> I would like to try and test out the 2.6.29-rc4 kernel and see if I
> >> can't get Xen-3.3-1 booting. I have patched the 2.6.28 kernel and have
> >> a 2.6.29-rc4 kernel. I have configured the kernel to use xen by
> >> following http://wiki.xensource.com/xenwiki/XenParavirtOps.
> >>
> >> Now I have the kernel configured and built but am not quite sure how
> >> to use this kernel with xen-3.3. When I downloaded the latest xen and
> >> ran 'make world' it downloaded the 2.6.18 kernel and is building xen
> >> against that. How do I make xen build against my kernel or do I even
> >> need to?
> >>
> >> Once xen-3.3 is done building do I just substitute my 2.6.29-rc4
> >> kernel in the grub menu.conf or am I missing something?
> >>
> >> Thanks for any help,
> >>
> >> Jon
> >>
> >>
> >>
> >>
> >> _______________________________________________
> >> Xen-devel mailing list
> >> Xen-devel@xxxxxxxxxxxxxxxxxxx
> >> http://lists.xensource.com/xen-devel
> >
> > _______________________________________________
> > Xen-devel mailing list
> > Xen-devel@xxxxxxxxxxxxxxxxxxx
> > http://lists.xensource.com/xen-devel
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxxxxxxxx
> http://lists.xensource.com/xen-devel


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