On Fri, Feb 10, 2017 at 06:10:18PM +0100, Peter Krempa wrote: > Similarly to domainSetGuestVcpus this commit adds API which allows to > modify state of individual vcpus rather than just setting the count. > > This allows to enable CPUs in specific guest NUMA nodes to achieve any > necessary configuration. > --- > include/libvirt/libvirt-domain.h | 5 +++++ > src/driver-hypervisor.h | 7 ++++++ > src/libvirt-domain.c | 48 ++++++++++++++++++++++++++++++++++++++++ > src/libvirt_public.syms | 5 +++++ > src/remote/remote_driver.c | 1 + > src/remote/remote_protocol.x | 16 +++++++++++++- > src/remote_protocol-structs | 7 ++++++ > 7 files changed, 88 insertions(+), 1 deletion(-) > > diff --git a/include/libvirt/libvirt-domain.h b/include/libvirt/libvirt-domain.h > index e303140a2..c0f715d66 100644 > --- a/include/libvirt/libvirt-domain.h > +++ b/include/libvirt/libvirt-domain.h > @@ -4528,4 +4528,9 @@ int virDomainSetGuestVcpus(virDomainPtr domain, > int state, > unsigned int flags); > > +int virDomainSetVcpu(virDomainPtr domain, > + const char *vcpumap, > + int state, > + unsigned int flags); In adding support for this to perl/go bindings I see that this is using a different style to the existing APIs. With the exception of the virDomainSetGuestVcpus() API, everything else dealing with CPU maps uses an 'unsigned char *cpu' & 'int maplen' pair to store the data as a bitmap. I think we should change this API to also use the bitmap rather than the textual format as it gives consistency with other APIs, particularly when mapping into other languages. For example in Go, the bitmaps get turned into a boolean array, so it is a very natural representation to manipulate - the textual format is rather inconvenient in this respect. Regards, Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://entangle-photo.org -o- http://search.cpan.org/~danberr/ :| -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list