On 11.06.2019 16:49, David Marchand wrote:
> 
> 
> On Tue, Jun 11, 2019 at 3:31 PM Ilya Maximets <[email protected] 
> <mailto:[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] 
> <mailto:[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.

Indeed. Thanks.

> 
> 
> 
>          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 
> <https://protect2.fireeye.com/url?k=e07b9b31a8b7192a.e07a107e-7946afdd48aedc58&u=http://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

Sure. This will be cleaner.

BTW, you may send fPIC related part of your change as a separate patch
for current master. It looks much better to pass it via EXTRA_CFLAGS.

> 
> 
>          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