DPDK patches and discussions
 help / color / mirror / Atom feed
From: Bruce Richardson <bruce.richardson@intel.com>
To: David Marchand <david.marchand@redhat.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, 18 Jul 2023 10:09:56 +0100	[thread overview]
Message-ID: <ZLZW5CK3RmveM+kz@bricha3-MOBL.ger.corp.intel.com> (raw)
In-Reply-To: <CAJFAV8z13obExJgK7uLzg3TmL929jg7ohPP69MKd3YNPPeUkFQ@mail.gmail.com>

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.

WDYT?
/Bruce

  reply	other threads:[~2023-07-18  9:10 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 [this message]
2023-08-01  8:36           ` David Marchand
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=ZLZW5CK3RmveM+kz@bricha3-MOBL.ger.corp.intel.com \
    --to=bruce.richardson@intel.com \
    --cc=david.marchand@redhat.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).