DPDK patches and discussions
 help / color / mirror / Atom feed
From: "Richardson, Bruce" <bruce.richardson@intel.com>
To: Thomas Monjalon <thomas@monjalon.net>
Cc: Andrew Rybchenko <arybchenko@solarflare.com>,
	"david.marchand@redhat.com" <david.marchand@redhat.com>,
	"dev@dpdk.org" <dev@dpdk.org>,
	"Yigit, Ferruh" <ferruh.yigit@intel.com>
Subject: Re: [dpdk-dev] [RFC PATCH 0/5] rework feature enabling macros for compatibility
Date: Wed, 30 Sep 2020 16:49:23 +0000	[thread overview]
Message-ID: <be8c410f9a694d059e592c533c0422b2@intel.com> (raw)
In-Reply-To: <2369022.OBMSpb71sc@thomas>



> -----Original Message-----
> From: Thomas Monjalon <thomas@monjalon.net>
> Sent: Wednesday, September 23, 2020 1:46 PM
> To: Richardson, Bruce <bruce.richardson@intel.com>
> Cc: Andrew Rybchenko <arybchenko@solarflare.com>;
> david.marchand@redhat.com; dev@dpdk.org; Yigit, Ferruh
> <ferruh.yigit@intel.com>
> Subject: Re: [dpdk-dev] [RFC PATCH 0/5] rework feature enabling macros for
> compatibility
> 
> 18/09/2020 10:41, Bruce Richardson:
> > On Thu, Sep 17, 2020 at 08:59:26PM +0300, Andrew Rybchenko wrote:
> > > On 9/16/20 7:44 PM, Bruce Richardson wrote:
> > > > * We still have inconsistencies in our driver macro and naming
> templates.
> > > >    This is just a nice-to-have, but if people are ok with generally
> having a
> > > >    breakage in our macro defines, we could clean this up a lot
> further.
> > > >    Notice how 'net', 'regex' and 'vdpa' have '_PMD' at the end,
> while most
> > > >    others have it before the name. Notice also that many device
> classes have
> > > >    the class at the end of the template, while bbdev has it in the
> middle.
> > > > 	$ git grep config_flag_fmt -- drivers/*/meson.build
> > > > 	drivers/baseband/meson.build:config_flag_fmt =
> 'RTE_LIBRTE_PMD_BBDEV_@0@'
> > > > 	drivers/bus/meson.build:config_flag_fmt = 'RTE_LIBRTE_@0@_BUS'
> > > > 	drivers/common/meson.build:config_flag_fmt =
> 'RTE_LIBRTE_@0@_COMMON'
> > > > 	drivers/compress/meson.build:config_flag_fmt =
> 'RTE_LIBRTE_PMD_@0@'
> > > > 	drivers/crypto/meson.build:config_flag_fmt =
> 'RTE_LIBRTE_PMD_@0@'
> > > > 	drivers/event/meson.build:config_flag_fmt =
> 'RTE_LIBRTE_PMD_@0@_EVENTDEV'
> > > > 	drivers/mempool/meson.build:config_flag_fmt =
> 'RTE_LIBRTE_@0@_MEMPOOL'
> > > > 	drivers/net/meson.build:config_flag_fmt = 'RTE_LIBRTE_@0@_PMD'
> > > > 	drivers/raw/meson.build:config_flag_fmt =
> 'RTE_LIBRTE_PMD_@0@_RAWDEV'
> > > > 	drivers/regex/meson.build:config_flag_fmt =
> 'RTE_LIBRTE_@0@_PMD'
> > > > 	drivers/vdpa/meson.build:config_flag_fmt =
> 'RTE_LIBRTE_@0@_PMD'
> > >
> > > As a generic direction I would vote for standard names which are
> > > based on directory structure:
> > >  - RTE_LIBRTE_ETHDEV
> > >  - RTE_DRIVER_NET_SFC
> > >  - RTE_DRIVER_COMMON_MLX5
> > >  - RTE_DRIVER_BUS_PCI
> 
> I would prefer RTE_LIB_ETHDEV (instead of LIBRTE).
> If we plan to rework all flags, I would even prefer
> 	- DPDK_LIB_ETHDEV
> 	- DPDK_DRIVER_BUS_PCI

Since everything else in DPDK uses an RTE prefix, I think it might be sensible to keep that here too:

* RTE_LIB_ETHDEV
* RTE_PMD_BUS_PCI
* RTE_PMD_NET_IXGBE
* RTE_PMD_CRYPTO_KASUMI
etc.

> > Definite +1, and it would be good if we standardized the .so names like
> > that too.
> 
> +1 to align .so names for clarity.
> 
I'd really like this, but need to see the implications for any drivers which may be multi-function, like QAT which has a single .so file.

> > The open question is how much backward compatibility needs to be
> maintained
> > for macros (and also too for .so names)? With this patchset, I've aimed
> > very much to keep strict compatibility for now.
> 
> As David said, the compatibility is mostly for apps using driver-specific
> API.
> We could also consider that the compatibility break was announced
> as part of the makefile removal.
> In any case, it is not ABI sensitive, so no need to wait 21.11.
> If choosing between a compilation flag breakage in 21.02 or 20.11,
> I would prefer 20.11 where legacy build system is removed.
> 
> About LTS, we may want to have some patches targetted to 18.11 and 19.11,
> to allow a transparent switch between make and meson.
> 

Any more thoughts on this? 
Any change to standardize the library names is going to have to be done in 20.11 if it's to be done at all, since that would be an ABI break. I'd tend towards only changing the defines for 21.02, but if lots of other things are changing too, perhaps it's not worthwhile waiting.

/Bruce

  reply	other threads:[~2020-09-30 16:49 UTC|newest]

Thread overview: 82+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-09-16 16:44 Bruce Richardson
2020-09-16 16:44 ` [dpdk-dev] [RFC PATCH 1/5] app: fix missing dependencies Bruce Richardson
2020-09-16 16:44 ` [dpdk-dev] [RFC PATCH 2/5] examples/l2fwd-crypto: fix missing dependency Bruce Richardson
2020-09-16 16:44 ` [dpdk-dev] [RFC PATCH 3/5] meson: fix compatibility with make build defines Bruce Richardson
2020-09-16 16:44 ` [dpdk-dev] [RFC PATCH 4/5] build: add defines for compatibility with make build Bruce Richardson
2020-09-16 16:44 ` [dpdk-dev] [RFC PATCH 5/5] build: replace use of old build macros Bruce Richardson
2020-09-17 17:59 ` [dpdk-dev] [RFC PATCH 0/5] rework feature enabling macros for compatibility Andrew Rybchenko
2020-09-18  8:41   ` Bruce Richardson
2020-09-18  8:59     ` Andrew Rybchenko
2020-09-18 12:19       ` Ferruh Yigit
2020-09-23 12:46     ` Thomas Monjalon
2020-09-30 16:49       ` Richardson, Bruce [this message]
2020-09-30 17:31         ` Thomas Monjalon
2020-09-18 15:12 ` David Marchand
2020-09-30 16:12 ` Ferruh Yigit
2020-09-30 16:19   ` Bruce Richardson
2020-10-02 15:58 ` [dpdk-dev] [RFC PATCH v2 0/8] Rework build macros Bruce Richardson
2020-10-02 15:58   ` [dpdk-dev] [RFC PATCH v2 1/8] app: fix missing dependencies Bruce Richardson
2020-10-02 15:58   ` [dpdk-dev] [RFC PATCH v2 2/8] examples/l2fwd-crypto: fix missing dependency Bruce Richardson
2020-10-02 15:58   ` [dpdk-dev] [RFC PATCH v2 3/8] build: add defines for compatibility with make build Bruce Richardson
2020-10-02 15:58   ` [dpdk-dev] [RFC PATCH v2 4/8] qat: build from common folder Bruce Richardson
2020-10-02 15:58   ` [dpdk-dev] [RFC PATCH v2 5/8] build: remove library name from version map filename Bruce Richardson
2020-10-02 15:58   ` [dpdk-dev] [RFC PATCH v2 6/8] build: standardize component names and defines Bruce Richardson
2020-10-02 15:58   ` [dpdk-dev] [RFC PATCH v2 7/8] build: replace use of old build macros Bruce Richardson
2020-10-02 15:58   ` [dpdk-dev] [RFC PATCH v2 8/8] [v21.02] build: remove compatibility build defines Bruce Richardson
2020-10-14 14:12 ` [dpdk-dev] [PATCH v3 0/7] Rework build macros Bruce Richardson
2020-10-14 14:12   ` [dpdk-dev] [PATCH v3 1/7] app: fix missing dependencies Bruce Richardson
2020-10-15 10:32     ` Luca Boccassi
2020-10-14 14:12   ` [dpdk-dev] [PATCH v3 2/7] examples/l2fwd-crypto: fix missing dependency Bruce Richardson
2020-10-15 10:32     ` Luca Boccassi
2020-10-14 14:13   ` [dpdk-dev] [PATCH v3 3/7] build: add defines for compatibility with make build Bruce Richardson
2020-10-15 10:31     ` Luca Boccassi
2020-10-15 11:20       ` Bruce Richardson
2020-10-14 14:13   ` [dpdk-dev] [PATCH v3 4/7] qat: build from common folder Bruce Richardson
2020-10-15 10:32     ` Luca Boccassi
2020-10-14 14:13   ` [dpdk-dev] [PATCH v3 5/7] build: remove library name from version map filename Bruce Richardson
2020-10-15 10:32     ` Luca Boccassi
2020-10-14 14:13   ` [dpdk-dev] [PATCH v3 6/7] build: standardize component names and defines Bruce Richardson
2020-10-15 10:30     ` Luca Boccassi
2020-10-15 11:18       ` Bruce Richardson
2020-10-15 13:05         ` Luca Boccassi
2020-10-15 14:03           ` Bruce Richardson
2020-10-15 15:32             ` Luca Boccassi
2020-10-15 15:34               ` Bruce Richardson
2020-10-14 14:13   ` [dpdk-dev] [PATCH v3 7/7] build: replace use of old build macros Bruce Richardson
2020-10-15 10:32     ` Luca Boccassi
2020-10-15 11:03 ` [dpdk-dev] [PATCH v4 0/8] Rework " Bruce Richardson
2020-10-15 11:03   ` [dpdk-dev] [PATCH v4 1/8] app: fix missing dependencies Bruce Richardson
2020-10-15 11:03   ` [dpdk-dev] [PATCH v4 2/8] examples/l2fwd-crypto: fix missing dependency Bruce Richardson
2020-10-15 11:03   ` [dpdk-dev] [PATCH v4 3/8] build: add defines for compatibility with make build Bruce Richardson
2020-10-15 11:03   ` [dpdk-dev] [PATCH v4 4/8] qat: build from common folder Bruce Richardson
2020-10-15 11:03   ` [dpdk-dev] [PATCH v4 5/8] build: remove library name from version map filename Bruce Richardson
2020-10-18 11:56     ` Xu, Rosen
2020-10-15 11:03   ` [dpdk-dev] [PATCH v4 6/8] devtools/test-null: load all drivers from directory Bruce Richardson
2020-10-15 11:03   ` [dpdk-dev] [PATCH v4 7/8] build: standardize component names and defines Bruce Richardson
2020-10-18 11:55     ` Xu, Rosen
2020-10-15 11:03   ` [dpdk-dev] [PATCH v4 8/8] build: replace use of old build macros Bruce Richardson
2020-10-18 11:55     ` Xu, Rosen
2020-10-15 15:05 ` [dpdk-dev] [PATCH v5 0/8] Rework " Bruce Richardson
2020-10-15 15:05   ` [dpdk-dev] [PATCH v5 1/8] app: fix missing dependencies Bruce Richardson
2020-10-15 15:05   ` [dpdk-dev] [PATCH v5 2/8] examples/l2fwd-crypto: fix missing dependency Bruce Richardson
2020-10-15 15:05   ` [dpdk-dev] [PATCH v5 3/8] build: add defines for compatibility with make build Bruce Richardson
2020-10-15 15:05   ` [dpdk-dev] [PATCH v5 4/8] qat: build from common folder Bruce Richardson
2020-10-15 15:05   ` [dpdk-dev] [PATCH v5 5/8] build: remove library name from version map filename Bruce Richardson
2020-10-15 15:28     ` Andrew Rybchenko
2020-10-19 20:04       ` Thomas Monjalon
2020-10-18  9:24     ` Xu, Rosen
2020-10-15 15:05   ` [dpdk-dev] [PATCH v5 6/8] devtools/test-null: load all drivers from directory Bruce Richardson
2020-10-19 16:58     ` Thomas Monjalon
2020-10-20  8:37       ` Bruce Richardson
2020-10-20 10:01         ` Thomas Monjalon
2020-10-15 15:05   ` [dpdk-dev] [PATCH v5 7/8] build: standardize component names and defines Bruce Richardson
2020-10-15 15:32     ` Andrew Rybchenko
2020-10-15 15:35     ` Bruce Richardson
2020-10-18  9:21     ` Xu, Rosen
2020-10-15 15:05   ` [dpdk-dev] [PATCH v5 8/8] build: replace use of old build macros Bruce Richardson
2020-10-15 15:34     ` Andrew Rybchenko
2020-10-18  9:23     ` Xu, Rosen
2020-10-19 19:03     ` Thomas Monjalon
2020-10-19 20:27   ` [dpdk-dev] [PATCH v5 0/8] Rework " Thomas Monjalon
2020-10-20  7:17     ` David Marchand
2020-10-20  8:37       ` 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=be8c410f9a694d059e592c533c0422b2@intel.com \
    --to=bruce.richardson@intel.com \
    --cc=arybchenko@solarflare.com \
    --cc=david.marchand@redhat.com \
    --cc=dev@dpdk.org \
    --cc=ferruh.yigit@intel.com \
    --cc=thomas@monjalon.net \
    /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).