[ovs-dev] [PATCH v2] travis: Don't install kernel for DPDK checks.

David Marchand david.marchand at redhat.com
Tue Jun 11 17:13:17 UTC 2019


On Tue, Jun 11, 2019 at 5:32 PM Ilya Maximets <i.maximets at samsung.com>
wrote:

> We don't need to build DPDK kernel modules to test build with OVS.
> And we don't need to build OVS datapath modules for checking
> userspace with DPDK.
>
> Removed 'max-inline-insns-single' changes that only was needed for
> DPDK kernel modules. Config modifications changed to update
> generated build/.config instead of changing sources.
>
> Signed-off-by: Ilya Maximets <i.maximets at samsung.com>
> ---
>
> Version 2:
>
>   * Removed -Wno-error=inline.
>   * config/common_base --> build/.config
>
>  .travis.yml            |  8 ++++----
>  .travis/linux-build.sh | 25 +++++++++++++------------
>  2 files changed, 17 insertions(+), 16 deletions(-)
>
> diff --git a/.travis.yml b/.travis.yml
> index 6621fb535..7addcb231 100644
> --- a/.travis.yml
> +++ b/.travis.yml
> @@ -31,10 +31,10 @@ env:
>    - TESTSUITE=1 KERNEL=3.16
>    - TESTSUITE=1 OPTS="--enable-shared"
>    - BUILD_ENV="-m32" OPTS="--disable-ssl"
> -  - KERNEL=3.16 DPDK=1 OPTS="--enable-shared"
> -  - KERNEL=3.16 TESTSUITE=1 DPDK=1
> -  - KERNEL=3.16 DPDK_SHARED=1
> -  - KERNEL=3.16 DPDK_SHARED=1 OPTS="--enable-shared"
> +  - DPDK=1 OPTS="--enable-shared"
> +  - TESTSUITE=1 DPDK=1
> +  - DPDK_SHARED=1
> +  - DPDK_SHARED=1 OPTS="--enable-shared"
>    - KERNEL=4.20
>    - KERNEL=4.19
>    - KERNEL=4.18
> diff --git a/.travis/linux-build.sh b/.travis/linux-build.sh
> index 123cde575..b88bfb53e 100755
> --- a/.travis/linux-build.sh
> +++ b/.travis/linux-build.sh
> @@ -3,7 +3,6 @@
>  set -o errexit
>  set -x
>
> -KERNELSRC=""
>  CFLAGS=""
>  SPARSE_FLAGS=""
>  EXTRA_OPTS="--enable-Werror"
> @@ -57,10 +56,7 @@ function install_kernel()
>          make net/bridge/
>      fi
>
> -    KERNELSRC=$(pwd)
> -    if [ ! "$DPDK" ] && [ ! "$DPDK_SHARED" ]; then
> -        EXTRA_OPTS="${EXTRA_OPTS} --with-linux=$(pwd)"
> -    fi
> +    EXTRA_OPTS="${EXTRA_OPTS} --with-linux=$(pwd)"
>      echo "Installed kernel source in $(pwd)"
>      cd ..
>  }
> @@ -78,16 +74,21 @@ function install_dpdk()
>          if [ $DIR_NAME != "dpdk-$1"  ]; then mv $DIR_NAME dpdk-$1; fi
>          cd dpdk-$1
>      fi
> -    find ./ -type f | xargs sed -i
> 's/max-inline-insns-single=100/max-inline-insns-single=400/'
> -    find ./ -type f | xargs sed -i 's/-Werror/-Werror -Wno-error=inline/'
>      echo 'CONFIG_RTE_BUILD_FPIC=y' >>config/common_linuxapp
>      sed -ri '/EXECENV_CFLAGS  = -pthread -fPIC/{s/$/\nelse ifeq
> ($(CONFIG_RTE_BUILD_FPIC),y)/;s/$/\nEXECENV_CFLAGS  = -pthread -fPIC/}'
> mk/exec-env/linuxapp/rte.vars.mk
> +
> +    make config CC=gcc T=$TARGET
> +
>      if [ "$DPDK_SHARED" ]; then
> -        sed -i '/CONFIG_RTE_BUILD_SHARED_LIB=n/s/=n/=y/'
> config/common_base
> +        sed -i '/CONFIG_RTE_BUILD_SHARED_LIB=n/s/=n/=y/' build/.config
>          export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$(pwd)/$TARGET/lib
>      fi
> -    make config CC=gcc T=$TARGET
> -    make -j4 CC=gcc RTE_KERNELDIR=$KERNELSRC
> +
> +    # Disable building DPDK kernel modules. Not needed for OVS build or
> tests.
> +    sed -i '/CONFIG_RTE_EAL_IGB_UIO=y/s/=y/=n/' build/.config
> +    sed -i '/CONFIG_RTE_KNI_KMOD=y/s/=y/=n/' build/.config
>

We could also disable the librte_kni but we are fine with just disabling
the kmods.


+
> +    make -j4 CC=gcc
>      echo "Installed DPDK source in $(pwd)"
>      cd ..
>  }
> @@ -97,7 +98,7 @@ function configure_ovs()
>      ./boot.sh && ./configure $* || { cat config.log; exit 1; }
>  }
>
> -if [ "$KERNEL" ] || [ "$DPDK" ] || [ "$DPDK_SHARED" ]; then
> +if [ "$KERNEL" ]; then
>      install_kernel $KERNEL
>  fi
>
> @@ -141,7 +142,7 @@ else
>      make selinux-policy
>
>      # Only build datapath if we are testing kernel w/o running testsuite
> -    if [ "$KERNEL" ] && [ ! "$DPDK" ] && [ ! "$DPDK_SHARED" ]; then
> +    if [ "$KERNEL" ]; then
>          cd datapath
>      fi
>      make -j4
> --
> 2.17.1
>
>
Reviewed-by: David Marchand <david.marchand at redhat.com>
Tested-by: David Marchand <david.marchand at redhat.com>


-- 
David Marchand


More information about the dev mailing list