[ovs-dev] [PATCH v3]travis: Enable OvS Travis CI for arm.

Lance Yang Lance.Yang at arm.com
Tue Mar 24 07:07:57 UTC 2020


Hi Ilya,

Thanks for your comments. We applied your suggestions and sent patch v4. Please see the new patch.

Thanks for your time.

Best regards,
Lance Yang

> -----Original Message-----
> From: Ilya Maximets <i.maximets at ovn.org>
> Sent: Tuesday, March 24, 2020 1:25 AM
> To: Lance Yang <Lance.Yang at arm.com>; ovs-dev at openvswitch.org
> Cc: nd <nd at arm.com>; i.maximets at ovn.org; Yanqin Wei <Yanqin.Wei at arm.com>; Ruifeng
> Wang <Ruifeng.Wang at arm.com>; Gavin Hu <Gavin.Hu at arm.com>; i.maximets at ovn.org
> Subject: Re: [ovs-dev] [PATCH v3]travis: Enable OvS Travis CI for arm.
>
> On 3/19/20 8:51 AM, Lance Yang wrote:
> > Enable part of travis jobs with gcc compiler for arm64 architecture
> >
> > 1. Add arm jobs into the matrix in .travis.yml configuration file 2.
> > To enable OVS-DPDK jobs, set the build target according to different
> > CPU architectures 3. Temporarily disable sparse checker because of
> > static code checking failure on arm64
> >
> > Considering the balance of the CI coverage and running time, some
> > kernel and DPDK jobs are removed from Arm CI. The running time
> > increases around by 7 minutes to 47 minutes in all.
> >
> > Successful travis build jobs report:
> > https://travis-ci.org/github/yzyuestc/ovs/builds/663833478
> >
> > Reviewed-by: Yanqin Wei <Yanqin.Wei at arm.com>
> > Reviewed-by: Ruifeng Wang <Ruifeng.Wang at arm.com>
> > Reviewed-by: JingZhao Ni <JingZhao.Ni at arm.com>
> > Reviewed-by: Gavin Hu <Gavin.Hu at arm.com>
> > Signed-off-by: Lance Yang <Lance.Yang at arm.com>
> > ---
> > v3:
> >    - Remove some kernel jobs: 4.18, 4.17, 4.16, 4.15, 4.14, and 4.3.
> >    - Remove one OvS-DPDK shared library job.
> > ---
> >  .travis.yml            | 15 +++++++++++++++
> >  .travis/linux-build.sh | 16 ++++++++++++++--
> >  2 files changed, 29 insertions(+), 2 deletions(-)
>
> This version seems OK.  We can give it a try.
> Couple of minor comments inline.
>
> >
> > diff --git a/.travis.yml b/.travis.yml index ef9f867..1149758 100644
> > --- a/.travis.yml
> > +++ b/.travis.yml
> > @@ -51,6 +51,21 @@ matrix:
> >      - os: osx
> >        compiler: clang
> >        env: OPTS="--disable-ssl"
> > +    - arch: arm64
> > +      compiler: gcc
> > +      env: OPTS="--disable-ssl"
> > +    - arch: arm64
> > +      compiler: gcc
> > +      env: KERNEL_LIST="5.5 4.19"
> > +    - arch: arm64
> > +      compiler: gcc
> > +      env: KERNEL_LIST="4.9 3.16"
> > +    - arch: arm64
> > +      compiler: gcc
> > +      env: DPDK=1 OPTS="--enable-shared"
> > +    - arch: arm64
> > +      compiler: gcc
> > +      env: DPDK_SHARED=1
> >
> >  script: ./.travis/${TRAVIS_OS_NAME}-build.sh $OPTS
> >
> > diff --git a/.travis/linux-build.sh b/.travis/linux-build.sh index
> > 359f777..3140ec9 100755
> > --- a/.travis/linux-build.sh
> > +++ b/.travis/linux-build.sh
> > @@ -6,7 +6,7 @@ set -x
> >  CFLAGS_FOR_OVS="-g -O2"
> >  SPARSE_FLAGS=""
> >  EXTRA_OPTS="--enable-Werror"
> > -TARGET="x86_64-native-linuxapp-gcc"
> > +TARGET=""
>
> We could just remove this line.  We're not using it anywhere beside install_dpdk().
>
> >
> >  function install_kernel()
> >  {
> > @@ -87,6 +87,16 @@ function install_dpdk()
> >      local DPDK_VER=$1
> >      local VERSION_FILE="dpdk-dir/travis-dpdk-cache-version"
> >
> > +    if [ -z "$TRAVIS_ARCH" ] ||
> > +       [ "$TRAVIS_ARCH" == "amd64" ]; then
> > +        TARGET="x86_64-native-linuxapp-gcc"
> > +    elif [ "$TRAVIS_ARCH" == "aarch64" ]; then
> > +        TARGET="arm64-armv8a-linuxapp-gcc"
> > +    else
> > +        echo "Target is unknown"
> > +        exit 1
> > +    fi
> > +
> >      if [ "${DPDK_VER##refs/*/}" != "${DPDK_VER}" ]; then
> >          # Avoid using cache for git tree build.
> >          rm -rf dpdk-dir
> > @@ -178,7 +188,9 @@ elif [ "$M32" ]; then
> >      # difference on 'configure' and 'make' stages.
> >      export CC="$CC -m32"
> >  else
> > -    OPTS="--enable-sparse"
> > +    if [ "$TRAVIS_ARCH" != "aarch64" ]; then
> > +        OPTS="--enable-sparse"
> > +    fi
>
> This should be:
>
> elif [ "$TRAVIS_ARCH" != "aarch64" ]; then
>     OPTS="--enable-sparse"
>     if [ "$AFXDP" ]; then
>         ...
>
> As we don't need to add SPARSE_FLAGS to CFLAGS_FOR_OVS if sparse is not enabled.
>
> Best regards, Ilya Maximets.
IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.


More information about the dev mailing list