From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andre Przywara Subject: [PATCH 2/4] NUMA: add Linux libnuma detection Date: Wed, 11 Aug 2010 15:52:16 +0200 Message-ID: <1281534738-8310-3-git-send-email-andre.przywara@amd.com> References: <1281534738-8310-1-git-send-email-andre.przywara@amd.com> Mime-Version: 1.0 Content-Type: text/plain Cc: , Andre Przywara To: , Return-path: Received: from tx2ehsobe004.messaging.microsoft.com ([65.55.88.14]:54889 "EHLO TX2EHSOBE008.bigfish.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752287Ab0HKNwY (ORCPT ); Wed, 11 Aug 2010 09:52:24 -0400 In-Reply-To: <1281534738-8310-1-git-send-email-andre.przywara@amd.com> Sender: kvm-owner@vger.kernel.org List-ID: Add detection of libnuma (mostly contained in the numactl package) to the configure script. Currently this is Linux only, but can be extended later should the need for other interfaces come up. Can be enabled or disabled on the command line, default is use if available. Signed-off-by: Andre Przywara --- configure | 33 +++++++++++++++++++++++++++++++++ 1 files changed, 33 insertions(+), 0 deletions(-) diff --git a/configure b/configure index af50607..91d5e48 100755 --- a/configure +++ b/configure @@ -282,6 +282,7 @@ xen="" linux_aio="" attr="" vhost_net="" +numa="yes" gprof="no" debug_tcg="no" @@ -722,6 +723,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" @@ -909,6 +914,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 @@ -1987,6 +1994,28 @@ if compile_prog "" "" ; then signalfd=yes fi +########################################## +# libnuma probe + +if test "$numa" = "yes" ; then + numa=no + cat > $TMPC << EOF +#include +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 @@ -2256,6 +2285,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" @@ -2487,6 +2517,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 -- 1.6.4