[libvirt] [PATCH] maint: add configure checks for BSD CPU affinity

Roman Bogorodskiy bogorodskiy at gmail.com
Wed Jan 29 18:31:44 UTC 2014


Check for presence of sys/cpuset.h header and cpuset_getaffinity()
in configure instead of just using #ifdef __FreeBSD__ for that code.
---
 configure.ac          | 10 ++++++++++
 src/util/virprocess.c |  7 +++++--
 2 files changed, 15 insertions(+), 2 deletions(-)

diff --git a/configure.ac b/configure.ac
index 3a70375..1670a41 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2604,6 +2604,16 @@ AC_CHECK_DECLS([BRDGSFD, BRDGADD, BRDGDEL],
                 #include <net/if_bridgevar.h>
                ])
 
+# Check for BSD CPU affinity availability
+AC_CHECK_DECLS([cpuset_getaffinity],
+               [AC_DEFINE([HAVE_BSD_CPU_AFFINITY],
+                          [1],
+                          [whether BSD CPU affinity management is available])],
+               [],
+               [#include <sys/param.h>
+                #include <sys/cpuset.h>
+               ])
+
 # Check if we need to look for ifconfig
 if test "$want_ifconfig" = "yes"; then
      AC_PATH_PROG([IFCONFIG_PATH], [ifconfig])
diff --git a/src/util/virprocess.c b/src/util/virprocess.c
index 827143c..83d0679 100644
--- a/src/util/virprocess.c
+++ b/src/util/virprocess.c
@@ -34,11 +34,14 @@
 
 #ifdef __FreeBSD__
 # include <sys/param.h>
-# include <sys/cpuset.h>
 # include <sys/sysctl.h>
 # include <sys/user.h>
 #endif
 
+#ifdef HAVE_BSD_CPU_AFFINITY
+# include <sys/cpuset.h>
+#endif
+
 #include "viratomic.h"
 #include "virprocess.h"
 #include "virerror.h"
@@ -457,7 +460,7 @@ realloc:
     return 0;
 }
 
-#elif defined(__FreeBSD__)
+#elif defined(HAVE_BSD_CPU_AFFINITY)
 
 int virProcessSetAffinity(pid_t pid ATTRIBUTE_UNUSED,
                           virBitmapPtr map)
-- 
1.8.4.3




More information about the libvir-list mailing list