On 10/11/2012 01:01 AM, Viktor Mihajlovski wrote: > > No problem to include flags for future extensions to be on the safe > side. However, the map will contain all CPUs with the bits representing > the online/offline state. If the intention is to quickly get the number > of offline/online CPUS the following signature would be better IMO > > int > virNodeGetCpuMap(virConnectPtr conn, > unsigned char **cpumap, > unsigned int *online, > unsigned int *offline, > unsigned int flags); > That starts to feel rather complex. On the other hand, you have a point that returning maplen (number of bytes allocated in the map) does NOT tell you how many cpus are online without doing a population count of the result; worse, it cannot tell you how many cpus are offline (a maplen of 1 is returned whether I have 4 cpus or 8 cpus, so if the map contains the value 0xb, does that mean I had a 4 cpu machine with cpu2 off, or an 8 cpu machine with cpu2 and cpu4-7 off?). So allowing the user to optionally ask how many cpus are online or offline might indeed also be useful, in addition to the maplen needed to return the bitmap. -- Eric Blake eblake@xxxxxxxxxx +1-919-301-3266 Libvirt virtualization library http://libvirt.org
Attachment:
signature.asc
Description: OpenPGP digital signature
-- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list