30/09/2020 18:49, Richardson, Bruce:
> From: Thomas Monjalon <tho...@monjalon.net>
> > 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,

Not everything. The applications and scripts are prefixed with dpdk-

> I think it might be sensible to keep that here too:
> 
> * RTE_LIB_ETHDEV
> * RTE_PMD_BUS_PCI

PMD before BUS looks weird.

> * 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.



Reply via email to