On 08/07/2012 09:47 AM, Daniel P. Berrange wrote:
On Fri, Aug 03, 2012 at 02:36:02PM +0800, Hu Tao wrote:
> This series is a merge of
>
> 1) "Support hypervisor-threads-pin in vcpupin"
> (
https://www.redhat.com/archives/libvir-list/2012-July/msg01361.html)
> 2) "support to set cpu bandwidth for hypervisor threads"
> (
https://www.redhat.com/archives/libvir-list/2012-June/msg01161.html)
>
> to make life easier because of the two share some patches.
This series is really focusing on pinning threads associated
with the <emulator> element, rather than the hypervisor. The
hypervisor is a separate entity that is shared.
So I'm thinking that this entire patch series could replace
'hypervisor' with 'emulator' everywhere. Any one has agree
or disagree ?
I definitely agree - when I hear 'hypervisor', I think 'qemu:///system',
which is the technology used to run multiple guests, but when I hear
'emulator', I think of a subset of a domain, namely the specific qemu
pid_t running a given guest. Also, we're not pinning all of the
hypervisor's threads, but just the threads that are associated with
emulation but not a specific vcpu.
That is, marking up your comment in 1/17:
cgroup mount point
+--libvirt <= setting up a namespace (*)
+--qemu <= hypervisor level
+--domain name <= domain level
+--vcpu0 <= vcpu level
...
+--vcpuN
+--"hypervisor" <= emulator
so a domain really is made up of an 'emulator' and 'vcpu' threads, and a
'hypervisor' contains domains, rather than making up a portion of a domain.
--
Eric Blake eblake(a)redhat.com +1-919-301-3266
Libvirt virtualization library
http://libvirt.org