[ovs-dev] [PATCH] netdev-dpdk: Make libnuma dependencies optional

Daniele Di Proietto diproiettod at ovn.org
Fri Aug 5 00:19:30 UTC 2016


LGTM, thanks

Pushed to master

2016-08-04 3:44 GMT-07:00 Ciara Loftus <ciara.loftus at intel.com>:

> Prior to this patch, OVS with DPDK required the libnuma packages to
> build. This patch removes this dependency, making it only a requirement
> when the CONFIG_RTE_LIBRTE_VHOST_NUMA option is detected as enabled in
> the DPDK build.
>
> Signed-off-by: Ciara Loftus <ciara.loftus at intel.com>
> ---
>  .travis.yml                     |  1 -
>  INSTALL.DPDK-ADVANCED.md        |  2 +-
>  INSTALL.DPDK.md                 |  2 +-
>  acinclude.m4                    | 14 ++++++++++++--
>  rhel/openvswitch-fedora.spec.in |  2 --
>  5 files changed, 14 insertions(+), 7 deletions(-)
>
> diff --git a/.travis.yml b/.travis.yml
> index a46994d..4ae6a5b 100644
> --- a/.travis.yml
> +++ b/.travis.yml
> @@ -11,7 +11,6 @@ addons:
>      packages:
>        - bc
>        - gcc-multilib
> -      - libnuma-dev
>        - libssl-dev
>        - llvm-dev
>        - libjemalloc1
> diff --git a/INSTALL.DPDK-ADVANCED.md b/INSTALL.DPDK-ADVANCED.md
> index c8d69ae..0ab43d4 100755
> --- a/INSTALL.DPDK-ADVANCED.md
> +++ b/INSTALL.DPDK-ADVANCED.md
> @@ -181,7 +181,7 @@ right PCIe slot.
>    CONFIG_RTE_LIBRTE_VHOST_NUMA=y, vHost User ports automatically
>    detect the NUMA socket of the QEMU vCPUs and will be serviced by a PMD
>    from the same node provided a core on this node is enabled in the
> -  pmd-cpu-mask.
> +  pmd-cpu-mask. libnuma packages are required for this feature.
>
>  ### 3.7 Compiler Optimizations
>
> diff --git a/INSTALL.DPDK.md b/INSTALL.DPDK.md
> index 0dae2ab..253d022 100644
> --- a/INSTALL.DPDK.md
> +++ b/INSTALL.DPDK.md
> @@ -21,7 +21,7 @@ The DPDK support of Open vSwitch is considered
> 'experimental'.
>
>  ### Prerequisites
>
> -* Required: DPDK 16.07, libnuma
> +* Required: DPDK 16.07
>  * Hardware: [DPDK Supported NICs] when physical ports in use
>
>  ## <a name="build"></a> 2. Building and Installation
> diff --git a/acinclude.m4 b/acinclude.m4
> index f02166d..bbbad23 100644
> --- a/acinclude.m4
> +++ b/acinclude.m4
> @@ -209,7 +209,17 @@ AC_DEFUN([OVS_CHECK_DPDK], [
>        [AC_DEFINE([VHOST_CUSE], [1], [DPDK vhost-cuse support enabled,
> vhost-user disabled.])
>         DPDK_EXTRA_LIB="-lfuse"])
>
> -    AC_SEARCH_LIBS([get_mempolicy],[numa],[],[AC_MSG_ERROR([unable to
> find libnuma, install the dependency package])])
> +    AC_COMPILE_IFELSE([
> +      AC_LANG_PROGRAM(
> +        [
> +          #include <rte_config.h>
> +#if RTE_LIBRTE_VHOST_NUMA
> +#error
> +#endif
> +        ], [])
> +      ], [],
> +      [AC_SEARCH_LIBS([get_mempolicy],[numa],[],[AC_MSG_ERROR([unable to
> find libnuma, install the dependency package])])
> +       DPDK_EXTRA_LIB="-lnuma"])
>
>      # On some systems we have to add -ldl to link with dpdk
>      #
> @@ -221,7 +231,7 @@ AC_DEFUN([OVS_CHECK_DPDK], [
>      DPDKLIB_FOUND=false
>      save_LIBS=$LIBS
>      for extras in "" "-ldl"; do
> -        LIBS="$DPDK_LIB $extras $save_LIBS $DPDK_EXTRA_LIB -lnuma"
> +        LIBS="$DPDK_LIB $extras $save_LIBS $DPDK_EXTRA_LIB"
>          AC_LINK_IFELSE(
>             [AC_LANG_PROGRAM([#include <rte_config.h>
>                               #include <rte_eal.h>],
> diff --git a/rhel/openvswitch-fedora.spec.in b/rhel/openvswitch-fedora.
> spec.in
> index 34c0f37..0657e81 100644
> --- a/rhel/openvswitch-fedora.spec.in
> +++ b/rhel/openvswitch-fedora.spec.in
> @@ -54,8 +54,6 @@ BuildRequires: libcap-ng libcap-ng-devel
>  %endif
>  %if %{with dpdk}
>  BuildRequires: dpdk-devel >= 2.2.0
> -BuildRequires: numactl-devel
> -Requires: numactl-libs
>  Provides: %{name}-dpdk = %{version}-%{release}
>  %endif
>
> --
> 2.4.3
>
> _______________________________________________
> dev mailing list
> dev at openvswitch.org
> http://openvswitch.org/mailman/listinfo/dev
>



More information about the dev mailing list