
On 10/30/2013 01:00 PM, Jeremy Fitzhardinge wrote:
On 10/30/2013 11:37 AM, Eric Blake wrote:
On 10/30/2013 11:38 AM, Jeremy Fitzhardinge wrote:
libxl: fix dubious cpumask handling in libxlDomainSetVcpuAffinities
Rather than casting the virBitmap pointer to uint8_t* and then using the structure contents as a byte array, use the virBitmap API to determine the bitmap size and test each bit.
Hmm, we already have virBitmapToData for converting from a virBitmap to a uint8_t; using that would be much faster for populating cpumap than doing a per-bit iteration over cpumask.
I looked at that, but I couldn't see it being any more efficient given that we're typically talking about a small number of (v)CPUs.
Efficiency isn't my concern. Maintainability is. It's better to reuse existing functions instead of risking open-coding it wrong. We have a testsuite over our existing functions, but not over your open-coding. -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org