[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.