On Thu, Jul 21, 2011 at 11:09:26AM +0100, Daniel P. Berrange wrote: > On Thu, Jul 21, 2011 at 10:08:03AM +0800, Wen Congyang wrote: > > Introduce the function virCgroupForVcpu() to create sub directory for each vcpu. > > I'm far from convinced that this is a good idea. Setting policies on > individual VCPUs is giving the host admin a misleading illusion of > control over individual guest VCPUs. The problem is that QEMU has > many non-VCPU threads which consume non-trivial CPU time. CPU time > generated by a CPU in the guest, does not neccessarily map to a VCPU > thread in the host, but could instead go to a I/O thread or a display > thread, etc. In fact the behaviour is worse than I describe, because the hard limit setting is not applied at the VM cgroup at all, so if the VM is doing heavy I/O, then no CPU limits are being applied to QEMU's I/O threads at all. The existing cpu_shares tunable is being set for the VM as a whole, so I think it is really confusing to have the period/quota only affecting VCPU threads and not the VM as a whole. Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :| -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list