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] FYI: userland <-> hypervisor parameter passing

To: "Hollis Blanchard" <hollisb@xxxxxxxxxx>, "xen-devel" <xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: RE: [Xen-devel] FYI: userland <-> hypervisor parameter passing
From: "Ian Pratt" <m+Ian.Pratt@xxxxxxxxxxxx>
Date: Wed, 16 Nov 2005 23:50:33 -0000
Cc: Jimi Xenidis <jimix@xxxxxxxxxxxxxx>
Delivery-date: Wed, 16 Nov 2005 23:50:35 +0000
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
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>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: AcXrBSjsj2EYgAK8R8q0cnP7ubRExgAAFi3A
Thread-topic: [Xen-devel] FYI: userland <-> hypervisor parameter passing
 
> From previous conversations, I understand that the x86-64 
> hypervisor runs in a separate virtual address space. However, 
> due to the layout of the x86 page tables, it's relatively 
> straightforward (though not ideal) to walk the page tables 
> and perform the translation in software. The approach taken 
> in this patch may speed up the translation currently done on 
> x86-64, or it may not.

That's not actually the case -- the hypervisor shares an address space
with the kernel.

However, for VT/Pacifica (hvm) domains the hypervisor is in a separate
address space. Thus, there are similar issues with paravirtualized
device drivers calling into the hypervisor within hvm domains. 
 
> This translation is currently only done for 
> dom0_op and memory_op hcalls, which are the offenders I've 
> run into so far.

In the hvm paravirt driver case its memory and grant table ops that we
need to call from the kernel. This is handled by pre-registering the
memory and avoiding external references. Even so, current patches aint
pretty yet, though I think they can be made so.

It's dom0 ops that really cause the problems because of the wide use of
pass-by-ptr. Since they're typically non performance critical, it makes
me wander whether we should treat them differently. Just how slow is
looking up a virtual address on power?

> [Side note: "domctrl" is a custom domain builder we're using 
> because libxc needs some portability love that nobody seems 
> interested in at the moment (probably justifiably so). 

Yeah, this isn't the time to crack things open -- that's why we've been
pushing back on the paravirt driver patches. Early in 3.1 we'd better
have figured this out...

Ian

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

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