On 11/01/2013 03:55 AM, Daniel P. Berrange wrote:
On Thu, Oct 31, 2013 at 06:50:57PM -0600, Jim Fehlig wrote:
Jeremy Fitzhardinge wrote:
On 10/30/2013 12:04 PM, Eric Blake wrote:
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.
Well, that was also a consideration, but using virBitmapToData would be
more complex. The same loop would exist, but I'd also have to manage
freeing the array. So this seems like the better of the two approaches.
What is the consensus here? It would be nice to get this pushed for
1.1.4 since it fixes a libvirtd segfault. I prefer Jeremy's approach of
less memory management.
Absolutely want this in 1.1.4. Personally I think Jeremy's patch
is fine.
Thanks. I've pushed the revert of 394d6e0a, and Jeremy's patch after removing
the unreachable error as noted by Eric
https://www.redhat.com/archives/libvir-list/2013-November/msg00006.html
Regards,
Jim
--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list