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

RE: [Xen-devel] Fast inter-VM signaling using monitor/mwait



>From: Ian Pratt
>Sent: 2009年4月21日 11:19
>
>> The mwait instruction is privileged.  So I added a new hypercall that
>> wraps access to the mwait instruction.  Thus, my code has a Xen
>> component (the new hypercall) and a guest kernel component (code for
>> executing the hypercall and for turning off/on the timer interrupts
>> around the hypercall).  For this code to be merged into Xen, it would
>> need to add security checks and check whether the processor supports
>> such a feature.
>
>I seem to recall that some newer CPUs have an mwait 
>instruction accessible from ring3, using a different opcode -- 
>you might want to check this out.
>
>How do you deal with atomicity of the monitor and mwait? i.e. 
>how do you stop the hypervisor pre-empting the VM and using 
>monitor for its own purposes or letting another guest use it?

That's a true concern. To use monitor/mwait sanely, software is required
to not add voluntary context switch in between, however to ensure that
atomicity at hypercall level, I'm not sure about overall efficiency when
multiple VMs are all active...

>
>Have you thought about HVM guests as well as PV? 
>

For HVM guest, both vmexit and vmentry clears any address range
monitoring in effect and thus that won't work.

Thanks,
Kevin
_______________________________________________
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®.