[PATCH v2 0/7] expand list of optional libraries

Bruce Richardson bruce.richardson at intel.com
Fri Jun 23 13:08:28 CEST 2023


On Fri, Jun 23, 2023 at 12:31:10PM +0200, David Marchand wrote:
> On Fri, Jun 23, 2023 at 12:25 PM David Marchand
> <david.marchand at redhat.com> wrote:
> >
> > On Thu, Jun 22, 2023 at 5:13 PM Bruce Richardson
> > <bruce.richardson at intel.com> wrote:
> > >
> > > DPDK still has many libraries which cannot be disabled as part of a
> > > build. With the ongoing work to make it easier to only build a subset
> > > of the libraries in DPDK, we can also work to expand the list of
> > > libraries which can be enabled/disabled as desired.
> > >
> > > This patch addresses a number of the "low-hanging fruit" libraries,
> > > where only the unit test builds need minor changes to support
> > > making the library optional. The rest of the build system is already
> > > well set up for selective disabling of libraries.
> > >
> > > For better support of enabling components, especially those more
> > > integrated into DPDK unit tests, rework of the test meson.build file
> > > is likely needed. For example, it could probably be better rewritten
> > > to use a dictionary of files and the dependencies of each file, and
> > > the unit test commands each provides. However, such rework is a
> > > significant effort, and outside the scope of this patchset.
> > >
> > > V2: fix checkpatch issues, since checkpatch doesn't like empty commit
> > >     messages (even if the title is pretty self-explanatory!)
> > >
> > > Bruce Richardson (7):
> > >   build: make most device classes optional
> > >   build: make membership library optional
> > >   build: make bpf library optional
> > >   build: make efd library optional
> > >   build: make distributor library optional
> > >   build: make fragmentation library optional
> > >   build: make reorder library optional
> > >
> > >  app/test/meson.build | 81 +++++++++++++++++++++++++++-----------------
> > >  lib/meson.build      | 13 +++++++
> > >  2 files changed, 63 insertions(+), 31 deletions(-)
> >
> > There is a trivial conflict on the main repo (after lib/graph change),
> > so the CI did not run this v2 revision.
> >

I've already rebased and preparing a v3

> > The v1 looked fine but there was a strange error in Intel report:
> > http://mails.dpdk.org/archives/test-report/2023-June/415672.html
> 
> Hum, we did not receive the ovsrobot report on v1 (not sure why), but
> looking at it manually, we have one failure too:
> https://github.com/ovsrobot/dpdk/actions/runs/5346924872/jobs/9694636520#step:18:219
> 
> This is because we ask for the l3fwd example but its dependencies are disabled.
> 

Spotted this too, and working on a solution. Three options I considered:
1. keep eventdev as mandatory
2. don't build l3fwd as part of examples list (or build only with eventdev)
3. make eventdev an optional dependency of l3fwd.

I've gone for the latter (#3), which, though likely the more complicated
change is probably the best one. L3fwd is such a commonly referenced app, I
think it should be buildable in all configs, and I also think requiring
eventdev in all cases seems wrong. 

V3 coming soon....


More information about the dev mailing list