[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [libvirt] [PATCH] fix numa-related (and kernel-dependent) test failures



"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.


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]