On 09/22/2010 03:51 PM, Stanley, Jon [Tech] wrote:
> Looking at the python API, once I have a domain object I can call 
> domain.pinVcpu to pin a specific vcpu to a physical CPU. I found 
> http://www.mail-archive.com/[email protected]/msg04562.html which 
> mentioned some changes to the C API in the Python implementation, and was 
> wondering if my understanding is correct.
> 
> Say that I have a host system with 16 logical CPU's, 0-15. If I wanted to pin 
> vcpu1 of a domain to CPUs 2 and 4, I would pass:
> 
> domain.pinVcpu(1, (False, False, True, False, True, False....[and so on til I 
> have 16 things]))
> 
> In other words, pinVcpu accepts as arguments the vCPU that I wish to act on, 
> and a 16 (or however many CPU's are present on the host) item tuple of 
> True/False values, in the same order as the CPU's I wish to mask (for 
> example, item 0 of the tuple represents CPU0), True meaning that the vCPU 
> thread is allowed to run there, and False meaning that it is not.
> 
> Just looking to confirm that my understanding of this call is correct.
>

Yes that's correct, we implement this in virt-manager/virtinst. Here's a
function for turning a libvirt cpuset= str into a tuple to pass to pinVcpu:

http://hg.fedorahosted.org/hg/python-virtinst/file/f82c5fcb966a/virtinst/Guest.py#l102

which uses

http://hg.fedorahosted.org/hg/python-virtinst/file/f82c5fcb966a/virtinst/util.py#l264

- Cole

_______________________________________________
libvirt-users mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/libvirt-users

Reply via email to