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

Jim Meyering jim at meyering.net
Sun Dec 21 18:45:27 UTC 2008


"Daniel P. Berrange" <berrange at redhat.com> wrote:
> On Fri, Dec 19, 2008 at 07:57:58PM +0100, Jim Meyering wrote:
>>
>> From 108a21089f2d5f427eb39ba7f622fd61deafebb3 Mon Sep 17 00:00:00 2001
>> From: Jim Meyering <meyering at redhat.com>
>> Date: Thu, 18 Dec 2008 13:53:47 +0100
>> Subject: [PATCH] make NUMA-initialization code more portable and more robust
>>
>> qemudCapsInitNUMA and umlCapsInitNUMA were identical, so this change
>> factors them into a new function, virCapsInitNUMA, and puts it in
>> nodeinfo.c.  Putting it there means several programs must now link
>> against -lnuma, hence all the Makefile.am adjustments.
>
> Most of those Makefile.am changes are unneccessary. Only targets
> which compile source files using numactl needed the NUMA_CFLAGS/LIBS
> adding. Specifically libvirt_driver.la and libvirt_lxc. The libnuma
> ABI doesn't leak out into other things linking to libvirt.so or the
> drivers, so no need to add link flags for libvirtd, virsh or the
> tests / examples.
>
>> In addition to factoring out the duplicates, this change also
>> adjusts that function definition (along with its macros) so
>> that it works with Fedora 9's numactl version 1, and makes it
>> so the code will work even if someone builds the kernel with
>> CONFIG_NR_CPUS > 4096.
>>
>> Finally, also perform this NUMA initialization for the lxc
>> and openvz drivers.
>
> All the source files wre missing #include "nodeinfo.h" to actually
> get the definition of virCapsInitNUMA, so not entirely sure how
> it managed to compile for you ?

I didn't see the warnings go by.
Need to configure with --enable-compile-warnings=error more religiously.

> Here's a cut down patch removing the unneccessary  makefile.am changes
> and adding the missing includes, which compiles & links for me.

Now that's really odd.
I *know* I was getting link errors without those other Makefile.am
changes, but can't reproduce them anymore.  But this is on rawhide,
and I've updated since -- and besides, maybe some build product was
stale.

Good catches.
I'll commit the result shortly, along with...
this one more change that's required to get past "make distcheck":

>From 6504bf107b1aa642b35cceccac74ccf2a2c2d8d8 Mon Sep 17 00:00:00 2001
From: Jim Meyering <meyering at redhat.com>
Date: Sun, 21 Dec 2008 19:00:19 +0100
Subject: * src/node_device_hal.c: Include <config.h> before everything else.

---
 src/node_device_hal.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/node_device_hal.c b/src/node_device_hal.c
index f2bbbef..3449ee0 100644
--- a/src/node_device_hal.c
+++ b/src/node_device_hal.c
@@ -21,10 +21,10 @@
  * Author: David F. Lively <dlively at virtualiron.com>
  */

+#include <config.h>
+
 #include <stdio.h>
 #include <stdlib.h>
-
-#include <config.h>
 #include <libhal.h>

 #include "node_device_conf.h"
--
1.6.1.rc3.350.g541da




More information about the libvir-list mailing list