diff mbox series

[ovs-dev] ci: Save some compilation for DPDK and skip error on ARM.

Message ID 20240627081608.715440-1-amusil@redhat.com
State Changes Requested
Headers show
Series [ovs-dev] ci: Save some compilation for DPDK and skip error on ARM. | expand

Checks

Context Check Description
ovsrobot/apply-robot success apply and check: success
ovsrobot/github-robot-_Build_and_Test success github build: passed
ovsrobot/github-robot-_ovn-kubernetes fail github build: failed

Commit Message

Ales Musil June 27, 2024, 8:16 a.m. UTC
Add more options that will shave some compilation time of DPDK by
removing unused parts of the code. Also add skip for memory error
produced by DPDK on ARM with 2MB hugepages which isn't harmful [0].

[0] http://mails.dpdk.org/archives/dev/2024-June/296764.html

Suggested-by: David Marchand <david.marchand@redhat.com>
Signed-off-by: Ales Musil <amusil@redhat.com>
---
 tests/system-dpdk-macros.at     |  3 ++-
 utilities/containers/prepare.sh | 10 ++++++----
 2 files changed, 8 insertions(+), 5 deletions(-)

Comments

David Marchand June 27, 2024, 8:23 a.m. UTC | #1
On Thu, Jun 27, 2024 at 10:16 AM Ales Musil <amusil@redhat.com> wrote:
>
> Add more options that will shave some compilation time of DPDK by
> removing unused parts of the code. Also add skip for memory error
> produced by DPDK on ARM with 2MB hugepages which isn't harmful [0].
>
> [0] http://mails.dpdk.org/archives/dev/2024-June/296764.html
>
> Suggested-by: David Marchand <david.marchand@redhat.com>
> Signed-off-by: Ales Musil <amusil@redhat.com>

I would split this in two patches (compilation changes in one patch,
error log in another) but overall the changes lgtm.
One nit below.


> ---
>  tests/system-dpdk-macros.at     |  3 ++-
>  utilities/containers/prepare.sh | 10 ++++++----
>  2 files changed, 8 insertions(+), 5 deletions(-)
>
> diff --git a/tests/system-dpdk-macros.at b/tests/system-dpdk-macros.at
> index 440908af7..39d19f366 100644
> --- a/tests/system-dpdk-macros.at
> +++ b/tests/system-dpdk-macros.at
> @@ -77,7 +77,8 @@ $1";/EAL: No \(available\|free\) .*hugepages reported/d
>  /netdev_linux.*obtaining netdev stats via vport failed/d
>  /qdisc_create_multiq(): Could not add multiq qdisc (2): No such file or directory/d
>  /tap_mp_req_on_rxtx(): Failed to send start req to secondary/d
> -/tap_nl_dump_ext_ack(): Specified qdisc kind is unknown/d"])
> +/tap_nl_dump_ext_ack(): Specified qdisc kind is unknown/d
> +/EAL: eal_memalloc_alloc_seg_bulk(): couldn't find suitable memseg_list/d"])

Nit: insert this "alphabetically", close to other EAL: ignored messages.

>     AT_CHECK([:; $2])
>  ])
>
Ales Musil June 27, 2024, 8:36 a.m. UTC | #2
On Thu, Jun 27, 2024 at 10:23 AM David Marchand <david.marchand@redhat.com>
wrote:

> On Thu, Jun 27, 2024 at 10:16 AM Ales Musil <amusil@redhat.com> wrote:
> >
> > Add more options that will shave some compilation time of DPDK by
> > removing unused parts of the code. Also add skip for memory error
> > produced by DPDK on ARM with 2MB hugepages which isn't harmful [0].
> >
> > [0] http://mails.dpdk.org/archives/dev/2024-June/296764.html
> >
> > Suggested-by: David Marchand <david.marchand@redhat.com>
> > Signed-off-by: Ales Musil <amusil@redhat.com>
>
> I would split this in two patches (compilation changes in one patch,
> error log in another) but overall the changes lgtm.
> One nit below.
>

Yeah you are right.


>
> > ---
> >  tests/system-dpdk-macros.at     |  3 ++-
> >  utilities/containers/prepare.sh | 10 ++++++----
> >  2 files changed, 8 insertions(+), 5 deletions(-)
> >
> > diff --git a/tests/system-dpdk-macros.at b/tests/system-dpdk-macros.at
> > index 440908af7..39d19f366 100644
> > --- a/tests/system-dpdk-macros.at
> > +++ b/tests/system-dpdk-macros.at
> > @@ -77,7 +77,8 @@ $1";/EAL: No \(available\|free\) .*hugepages reported/d
> >  /netdev_linux.*obtaining netdev stats via vport failed/d
> >  /qdisc_create_multiq(): Could not add multiq qdisc (2): No such file or
> directory/d
> >  /tap_mp_req_on_rxtx(): Failed to send start req to secondary/d
> > -/tap_nl_dump_ext_ack(): Specified qdisc kind is unknown/d"])
> > +/tap_nl_dump_ext_ack(): Specified qdisc kind is unknown/d
> > +/EAL: eal_memalloc_alloc_seg_bulk(): couldn't find suitable
> memseg_list/d"])
>
> Nit: insert this "alphabetically", close to other EAL: ignored messages.
>


Ack, the others are not particularly in order, but I'll fix that in v2.


>
> >     AT_CHECK([:; $2])
> >  ])
> >
>
>
> --
> David Marchand
>
>
Thanks,
Ales
diff mbox series

Patch

diff --git a/tests/system-dpdk-macros.at b/tests/system-dpdk-macros.at
index 440908af7..39d19f366 100644
--- a/tests/system-dpdk-macros.at
+++ b/tests/system-dpdk-macros.at
@@ -77,7 +77,8 @@  $1";/EAL: No \(available\|free\) .*hugepages reported/d
 /netdev_linux.*obtaining netdev stats via vport failed/d
 /qdisc_create_multiq(): Could not add multiq qdisc (2): No such file or directory/d
 /tap_mp_req_on_rxtx(): Failed to send start req to secondary/d
-/tap_nl_dump_ext_ack(): Specified qdisc kind is unknown/d"])
+/tap_nl_dump_ext_ack(): Specified qdisc kind is unknown/d
+/EAL: eal_memalloc_alloc_seg_bulk(): couldn't find suitable memseg_list/d"])
    AT_CHECK([:; $2])
 ])
 
diff --git a/utilities/containers/prepare.sh b/utilities/containers/prepare.sh
index 460d34a72..49bb2ac91 100755
--- a/utilities/containers/prepare.sh
+++ b/utilities/containers/prepare.sh
@@ -54,9 +54,9 @@  function build_dpdk()
           pushd dpdk-src
       fi
 
-      # Switching to 'default' machine to make the dpdk cache usable on
+      # Switching to 'generic' platform to make the dpdk cache usable on
       # different CPUs. We can't be sure that all CI machines are exactly same.
-      DPDK_OPTS="$DPDK_OPTS -Dmachine=default"
+      DPDK_OPTS="$DPDK_OPTS -Dplatform=generic"
 
       # Disable building DPDK unit tests. Not needed for OVS build or tests.
       DPDK_OPTS="$DPDK_OPTS -Dtests=false"
@@ -67,7 +67,9 @@  function build_dpdk()
 
       # OVS compilation and the "ovn-system-dpdk" unit tests (run in the CI)
       # only depend on virtio/tap drivers.
-      # We can disable all remaining drivers to save compilation time.
+      # We can disable all applications and remaining drivers to save
+      # compilation time.
+      DPDK_OPTS="$DPDK_OPTS -Ddisable_apps=*"
       DPDK_OPTS="$DPDK_OPTS -Denable_drivers=net/null,net/tap,net/virtio"
       # OVS depends on the vhost library (and its dependencies).
       # net/tap depends on the gso library.
@@ -76,7 +78,7 @@  function build_dpdk()
       # Install DPDK using prefix.
       DPDK_OPTS="$DPDK_OPTS --prefix=$DPDK_INSTALL_DIR"
 
-      meson $DPDK_OPTS build
+      meson setup $DPDK_OPTS build
       ninja -C build
       ninja -C build install
       popd