DPDK patches and discussions
 help / color / mirror / Atom feed
From: David Marchand <david.marchand@redhat.com>
To: Bruce Richardson <bruce.richardson@intel.com>
Cc: dev@dpdk.org, Timothy McDaniel <timothy.mcdaniel@intel.com>
Subject: Re: [PATCH v4 2/9] event/dlb2: skip configuration if no eventdev lib
Date: Tue, 1 Aug 2023 10:36:30 +0200	[thread overview]
Message-ID: <CAJFAV8wJpk2DP1Ejp7XV6L+_0rZv=KhFF8pr4kCnjUDRduTUaA@mail.gmail.com> (raw)
In-Reply-To: <ZLZW5CK3RmveM+kz@bricha3-MOBL.ger.corp.intel.com>

Hello Bruce,

On Tue, Jul 18, 2023 at 11:10 AM Bruce Richardson
<bruce.richardson@intel.com> wrote:
>
> On Thu, Jun 29, 2023 at 11:39:53AM +0200, David Marchand wrote:
> > On Wed, Jun 28, 2023 at 12:19 PM David Marchand
> > <david.marchand@redhat.com> wrote:
> > >
> > > On Fri, Jun 23, 2023 at 5:07 PM Bruce Richardson
> > > <bruce.richardson@intel.com> wrote:
> > > >
> > > > While the build system will skip building most libs and drivers when a
> > > > dependency is missing for a component, for DLB2 driver, the
> > > > "static_rte_eventdev" object is referenced inside the meson.build file
> > > > itself, which will cause crashes if it doesn't exist i.e. if eventdev is
> > > > disabled. Prevent this issue by skipping processing the file if no
> > > > eventdev. [The build system will still report missing dependency, as the
> > > > dependency is set by default for all eventdev drivers]
> > > >
> > > > Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
> > >
> > > Could we evaluate the class "std_deps" before jumping to each driver
> > > meson.build?
> >
> > Hum, with my suggestion, we lose the opportunity for drivers to
> > rewrite completely their "deps".
> > I doubt we have cases where it really matters, but if this revealed to
> > be necessary, such driver may be directly referenced in
> > drivers/meson.build like we do for common/cnxk & friends.
> >
> > To illustrate the idea, I pushed your series along patches of mine
> > (target is v23.11) in my github repo.
> > https://github.com/david-marchand/dpdk/commit/enable_libs~8
> >
> I don't think we should need to worry too much about the case of a driver
> needing to rewrite deps. The standard deps should really just be the
> minimal deps for a class.
>
> However, for the implementation of that check, I'm not sure I like the
> approach of checking std_deps in a loop for each driver. Firstly, the logic
> inside the per-driver block is already pretty complicated, but secondly, I
> think we can skip that loop entirely if the standard deps for a class are
> not met. I think instead it would be better to process std_deps value once
> immediately after the "subdir(class)" line, and if not all deps are
> present, just loop through all the driver directories for that class
> immediately and mark them as unbuildable, before just moving on to the next
> class.

Skipping this loop makes the change smaller and the logic in
drivers/meson.build easier to understand.
We lose the exhaustive summary for disabled content (before, every
disabled driver was logged with the associated reason), but we can
still log the reason why a class is disabled.

Your suggestion looks good to me, let me send a patch.


-- 
David Marchand


  reply	other threads:[~2023-08-01  8:36 UTC|newest]

Thread overview: 50+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-06-22 13:48 [PATCH 0/7] expand list of optional libraries Bruce Richardson
2023-06-22 13:48 ` [PATCH 1/7] build: make most device classes optional Bruce Richardson
2023-06-22 13:48 ` [PATCH 2/7] build: make membership library optional Bruce Richardson
2023-06-22 13:48 ` [PATCH 3/7] build: make bpf " Bruce Richardson
2023-06-22 13:48 ` [PATCH 4/7] build: make efd " Bruce Richardson
2023-06-22 13:48 ` [PATCH 5/7] build: make distributor " Bruce Richardson
2023-06-22 13:48 ` [PATCH 6/7] build: make fragmentation libary optional Bruce Richardson
2023-06-22 13:48 ` [PATCH 7/7] build: make reorder library optional Bruce Richardson
2023-06-22 14:30 ` [PATCH 0/7] expand list of optional libraries Morten Brørup
2023-06-22 15:05 ` [PATCH v2 " Bruce Richardson
2023-06-22 15:05   ` [PATCH v2 1/7] build: make most device classes optional Bruce Richardson
2023-06-22 15:05   ` [PATCH v2 2/7] build: make membership library optional Bruce Richardson
2023-06-22 15:05   ` [PATCH v2 3/7] build: make bpf " Bruce Richardson
2023-06-22 15:05   ` [PATCH v2 4/7] build: make efd " Bruce Richardson
2023-06-22 15:05   ` [PATCH v2 5/7] build: make distributor " Bruce Richardson
2023-06-22 15:05   ` [PATCH v2 6/7] build: make fragmentation " Bruce Richardson
2023-06-22 15:05   ` [PATCH v2 7/7] build: make reorder " Bruce Richardson
2023-06-23 10:25   ` [PATCH v2 0/7] expand list of optional libraries David Marchand
2023-06-23 10:31     ` David Marchand
2023-06-23 11:08       ` Bruce Richardson
2023-06-23 11:15 ` [PATCH v3 0/8] " Bruce Richardson
2023-06-23 11:15   ` [PATCH v3 1/8] examples/l3fwd: make eventdev an optional dependency Bruce Richardson
2023-06-23 13:25     ` Bruce Richardson
2023-06-23 11:15   ` [PATCH v3 2/8] build: make most device classes optional Bruce Richardson
2023-06-23 11:15   ` [PATCH v3 3/8] build: make membership library optional Bruce Richardson
2023-06-23 11:15   ` [PATCH v3 4/8] build: make bpf " Bruce Richardson
2023-06-23 11:15   ` [PATCH v3 5/8] build: make efd " Bruce Richardson
2023-06-23 11:15   ` [PATCH v3 6/8] build: make distributor " Bruce Richardson
2023-06-23 11:15   ` [PATCH v3 7/8] build: make fragmentation " Bruce Richardson
2023-06-23 11:15   ` [PATCH v3 8/8] build: make reorder " Bruce Richardson
2023-06-23 15:06 ` [PATCH v4 0/9] expand list of optional libraries Bruce Richardson
2023-06-23 15:07   ` [PATCH v4 1/9] examples/l3fwd: make eventdev an optional dependency Bruce Richardson
2023-06-23 15:07   ` [PATCH v4 2/9] event/dlb2: skip configuration if no eventdev lib Bruce Richardson
2023-06-28 10:19     ` David Marchand
2023-06-29  9:39       ` David Marchand
2023-07-18  9:09         ` Bruce Richardson
2023-08-01  8:36           ` David Marchand [this message]
2023-08-01  9:17             ` Bruce Richardson
2023-06-23 15:07   ` [PATCH v4 3/9] build: make most device classes optional Bruce Richardson
2023-06-23 15:07   ` [PATCH v4 4/9] build: make membership library optional Bruce Richardson
2023-06-23 15:07   ` [PATCH v4 5/9] build: make bpf " Bruce Richardson
2023-06-27  9:26     ` Konstantin Ananyev
2023-06-23 15:07   ` [PATCH v4 6/9] build: make efd " Bruce Richardson
2023-06-23 15:07   ` [PATCH v4 7/9] build: make distributor " Bruce Richardson
2023-06-23 15:07   ` [PATCH v4 8/9] build: make fragmentation " Bruce Richardson
2023-06-27  9:32     ` Konstantin Ananyev
2023-07-17 13:19       ` Bruce Richardson
2023-06-23 15:07   ` [PATCH v4 9/9] build: make reorder " Bruce Richardson
2023-07-04  1:40   ` [PATCH v4 0/9] expand list of optional libraries fengchengwen
2023-08-14 15:10   ` Bruce Richardson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAJFAV8wJpk2DP1Ejp7XV6L+_0rZv=KhFF8pr4kCnjUDRduTUaA@mail.gmail.com' \
    --to=david.marchand@redhat.com \
    --cc=bruce.richardson@intel.com \
    --cc=dev@dpdk.org \
    --cc=timothy.mcdaniel@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).