Andrey Korolyov
2012-Oct-16 20:54 UTC
[libvirt-users] cpuset not affecting real pid placement
Hi, At least on 0.10.2 setting a cpuset doesn`t match a real process placement - VM still consumes all available cores. VM config: .snip. <vcpu placement='static' cpuset='0-5,12-17'>12</vcpu> .snip. for cpuset in $(find /cgroup/cpuset/libvirt/qemu/vmid/ -name cpuset.cpus) ; do grep 0-5 $cpuset ; done got: empty responce, e.g. 0-23 in my setup expected: at least bounded vcpuX threads In neighbor 'cpu' group libvirt sets cfq weights just fine, so this is clearly a bug.
Andrey Korolyov
2012-Oct-18 19:32 UTC
[libvirt-users] cpuset not affecting real pid placement
On Wed, Oct 17, 2012 at 12:54 AM, Andrey Korolyov <andrey at xdel.ru> wrote:> Hi, > > At least on 0.10.2 setting a cpuset doesn`t match a real process > placement - VM still consumes all available cores. > > VM config: > .snip. > <vcpu placement='static' cpuset='0-5,12-17'>12</vcpu> > .snip. > > for cpuset in $(find /cgroup/cpuset/libvirt/qemu/vmid/ -name > cpuset.cpus) ; do grep 0-5 $cpuset ; done > got: empty responce, e.g. 0-23 in my setup > expected: at least bounded vcpuX threads > > In neighbor 'cpu' group libvirt sets cfq weights just fine, so this is > clearly a bug.Oh, I was wrong in suggestion that libvirt using cgroups for task pinning, nevermind please. There must be some issue with taskset which does not prevent vm execution on all cores even if a specific set was passed, I have wrongly thought it was because cpuset value remains default in libvirt sub-cgroup.