On Tue, Jun 11, 2019 at 3:31 PM Ilya Maximets <[email protected]>
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.
>
> Signed-off-by: Ilya Maximets <[email protected]>
> ---
>  .travis.yml            |  8 ++++----
>  .travis/linux-build.sh | 18 +++++++++---------
>  2 files changed, 13 insertions(+), 13 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..8c0291dd2 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,7 +74,6 @@ 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/'
>

Both lines go together (else, that would mean that dpdk does not build fine
by itself).
So you should remove both of them.



     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
> @@ -86,8 +81,13 @@ function install_dpdk()
>          sed -i '/CONFIG_RTE_BUILD_SHARED_LIB=n/s/=n/=y/'
> config/common_base
>          export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$(pwd)/$TARGET/lib
>      fi
> +
> +    # Disable building DPDK kernel modules. Not needed for OVS build or
> tests.
> +    sed -i '/CONFIG_RTE_EAL_IGB_UIO=y/s/=y/=n/' config/common_linuxapp
> +    sed -i '/CONFIG_RTE_KNI_KMOD=y/s/=y/=n/' config/common_linuxapp
> +
>

Patching the dpdk sources feels quite dangerous to me.
And it is broken on dpdk master since this file has been renamed.

How about editing build/.config after calling 'make config' instead ?

I did like this, to compile against dpdk master:
https://github.com/david-marchand/ovs/commit/e3c7877aa76247cb06f8c2832f99230a6d8e8675


     make config CC=gcc T=$TARGET
> -    make -j4 CC=gcc RTE_KERNELDIR=$KERNELSRC
> +    make -j4 CC=gcc
>      echo "Installed DPDK source in $(pwd)"
>      cd ..
>  }
> @@ -97,7 +97,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 +141,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
>
>

-- 
David Marchand
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to