plugin. This is to allow the plugin to take advantage of functions added to
detect if the DPDK primary process is alive.
+Note: For Ubuntu, GCC 4.9 is the minimum version required to build collectd
+with DPDK. Ubuntu 14.04, for example, has GCC 4.8 by default and will require
+an upgrade:
+ $ sudo add-apt-repository ppa:ubuntu-toolchain-r/test
+ $ sudo apt-get update
+ $ sudo apt-get install gcc-4.9
+Alternatively, if you know that the platform that you wish to run collectd
+on supports the SSSE3 instruction set, you can run make as follows:
+ $ make -j CFLAGS+='-mssse3'
+
Build DPDK for use with collectd:
To compile DPDK for use with collectd dpdkstat start by:
- Clone DPDK:
- Build collectd:
$ make -j && make -j install.
- NOTE: If you are building on Ubuntu 14.04 you need to use:
- $ make -j CFLAGS+='-mavx' && make -j install
+ NOTE: As mentioned above, if you are building on Ubuntu 14.04 with GCC <= 4.8.X,
+ you need to use:
+ $ make -j CFLAGS+='-mssse3' && make -j install
Usage of dpdkstat:
- The same PCI device configuration should be passed to the primary process
SAVE_CFLAGS="$CFLAGS"
SAVE_LDFLAGS="$LDFLAGS"
- CFLAGS="$CFLAGS -mavx -I$DPDK_INCLUDE"
+ CFLAGS="$CFLAGS -I$DPDK_INCLUDE"
if test "x$LOCAL_DPDK_INSTALL" != "xtrue"
then
LDFLAGS="$LDFLAGS -L$DPDK_LIB_DIR"
then
AC_MSG_ERROR([cannot link with dpdk in $DPDK_LIB_DIR])
fi
- BUILD_WITH_DPDK_CFLAGS=""
- AC_MSG_NOTICE([Checking for avx instructions])
- AC_RUN_IFELSE(
- [AC_LANG_PROGRAM(
-[[
-#include <immintrin.h>
-]],
-[[
-__m128i zero = _mm_setzero_si128();
-]]
- )],
- [HAVE_AVX=true], [HAVE_AVX=false])
- if test "x$HAVE_AVX" = "xtrue"
- then
- BUILD_WITH_DPDK_CFLAGS="-mavx "
- AC_MSG_NOTICE([avx instructions supported])
- fi
BUILD_WITH_DPDK_CFLAGS+="-fPIC -I$DPDK_INCLUDE"
if test "x$LOCAL_DPDK_INSTALL" != "xtrue"