@@ -281,6 +281,7 @@ vnc_sasl=""
xen=""
linux_aio=""
vhost_net=""
+numa="yes"
gprof="no"
debug_tcg="no"
@@ -721,6 +722,10 @@ for opt do
;;
--enable-vhost-net) vhost_net="yes"
;;
+ --disable-numa) numa="no"
+ ;;
+ --enable-numa) numa="yes"
+ ;;
--*dir)
;;
*) echo "ERROR: unknown option $opt"; show_help="yes"
@@ -905,6 +910,8 @@ echo " --enable-docs enable documentation build"
echo " --disable-docs disable documentation build"
echo " --disable-vhost-net disable vhost-net acceleration support"
echo " --enable-vhost-net enable vhost-net acceleration support"
+echo " --disable-numa disable host Linux NUMA support"
+echo " --enable-numa enable host Linux NUMA support"
echo ""
echo "NOTE: The object files are built at the place where configure is launched"
exit 1
@@ -1962,6 +1969,28 @@ if compile_prog "" "" ; then
signalfd=yes
fi
+##########################################
+# libnuma probe
+
+if test "$numa" = "yes" ; then
+ numa=no
+ cat > $TMPC << EOF
+#include <numa.h>
+int main(void) { return numa_available(); }
+EOF
+
+ if compile_prog "" "-lnuma" ; then
+ numa=yes
+ libs_softmmu="-lnuma $libs_softmmu"
+ else
+ if test "$numa" = "yes" ; then
+ feature_not_found "linux NUMA (install numactl?)"
+ fi
+ numa=no
+ fi
+fi
+
+
# check if eventfd is supported
eventfd=no
cat > $TMPC << EOF
@@ -2245,6 +2274,7 @@ echo "preadv support $preadv"
echo "fdatasync $fdatasync"
echo "uuid support $uuid"
echo "vhost-net support $vhost_net"
+echo "NUMA host support $numa"
if test $sdl_too_old = "yes"; then
echo "-> Your SDL version is too old - please upgrade to have SDL support"
@@ -2468,6 +2498,9 @@ if test $cpu_emulation = "yes"; then
else
echo "CONFIG_NO_CPU_EMULATION=y" >> $config_host_mak
fi
+if test "$numa" = "yes"; then
+ echo "CONFIG_NUMA=y" >> $config_host_mak
+fi
# XXX: suppress that
if [ "$bsd" = "yes" ] ; then