At 10/25/2011 05:13 AM, Eric Blake Write: > On 10/24/2011 02:54 PM, sethuraman subbiah wrote: > >> [root@sbc11 ssubbiah]# virsh schedinfo rubis_ws --set vcpu_quota=50 >> Scheduler : posix >> error: invalid scheduler option: vcpu_quota=50 >> >> I get the same error for "virsh schedinfo rubies_ws --set vcpu_quota >> 50" . >> >> I find that my version is 0.9.4. >> >> [root@sbc11 ssubbiah]# virsh --version >> 0.9.4 >> >> Should I do some modifications,enable options or add some patch to get >> the capability to set cap ? Thanks for all your help. > > I found this comment in the code: > > /* If we does not know VCPU<->PID mapping or all vcpu runs in the same > * thread, we cannot control each vcpu. So we only modify cpu bandwidth > * when each vcpu has a separated thread. > > I think that means that in order to use CPU caps, you have to also use > <vcpupin> to call out the host CPU pinning to be used by the guest VCPUS. VCPU<->PID mapping is the thread id for each vcpu. qemu-kvm supports this feature. We use monitor command query-cpus to get VCPU<->PID mapping in libvirt(the function is: qemuProcessDetectVcpuPIDs()). > > The original implementation was here, although I don't see much > documentation in that patch series. > https://www.redhat.com/archives/libvir-list/2011-July/msg01389.html > > Wen, can you help out here? > It seems that the kernel does not support it. The cfs bandwidth was merged into kernel tree about some months ago. Thanks Wen Congyang