
"Daniel P. Berrange" <berrange@redhat.com> wrote:
On Wed, Dec 17, 2008 at 08:39:04AM +0100, Jim Meyering wrote:
Daniel Veillard <veillard@redhat.com> wrote: ...
All tests pass for me with that patch. Looks good.
Same for me, +1 !
Thanks. Pushed with this comment:
fix numa-related (and kernel-dependent) test failures This change is required on some kernels due to the way a change in the kernel's CONFIG_NR_CPUS propagates through the numa library. * src/qemu_conf.c (qemudCapsInitNUMA): Pass numa_all_cpus_ptr->size/8 as the buffer-length-in-bytes in the call to numa_node_to_cpus, since that's what is required on second and subseqent calls. * src/uml_conf.c (umlCapsInitNUMA): Likewise.
This change has broken the compile on Fedora 9 and earlier where the numa_all_cpus_ptr symbol does not exist. So it needs to have a test in configure.ac added, and if not present, go with our original code of a fixed mask size. Fortunately on Fedora 9's libnuma, they don't have the annoying mask size checks - that's a new Fedora 10 thing
Thanks for the heads-up. While normally I'd prefer an autoconf test, it might make sense to use an #if in this case. Maybe this will do it: #if LIBNUMA_API_VERSION <= 1 use old code #else use numa_all_cpus_ptr #endif
I also just noticed that its only touching the size param passed into the numa_node_to_cpus, but not the actual size that's allocated for the array. This is fairly harmless....until someone does a kernel build with NR_CPUS > 4096
I'll deal with this, too.