[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.

On Wed, Oct 17, 2012 at 12:54 AM, Andrey Korolyov <andrey@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.
participants (1)
-
Andrey Korolyov