[dpdk-dev] [PATCH v5 0/5] eal: enable global device syntax by default
Gaëtan Rivet
grive at u256.net
Fri Apr 23 13:39:00 CEST 2021
On Fri, Apr 23, 2021, at 13:06, Kinsella, Ray wrote:
>
>
> On 14/04/2021 20:49, Thomas Monjalon wrote:
> > 13/04/2021 05:14, Xueming Li:
> >> Xueming Li (5):
> >> devargs: unify scratch buffer storage
> >> devargs: fix memory leak on parsing error
> >> kvargs: add get by key function
> >> bus: add device arguments name parsing API
> >> devargs: parse global device syntax
> >
> > The patch 4 adds a new callback in rte_bus.
> > I thought about it during the whole day and I don't see any good way
> > to merge it without breaking the ABI compatibility.
> >
> > Only first 3 patches are applied for now, thanks.
> >
>
> I took a look, I don't immediately see the concern.
>
> The new entry is at the end of the memory structure.
> The call back is internal and hidden behind the symbol rte_devargs_layers_parse.
>
> So will only be trigger by a rte_devargs_layers_parse of the same
> version of DPDK that introduce the new callback.
>
> Should be fine?
>
It might have been an issue IMO with a structure exposed as an array, i.e. rte_eth_devices[].
But I thought this kind of ABI break was the kind that would be accepted between two LTS.
The only potential risk is in using a new version librte_eal.so with an older librte_bus_xxx.so
But I think it is fair to expect installations to be internally consistent.
Maybe we could have a runtime warning when loading mismatched versions
(if there isn't one already) -- each librte_*.so could have an internal version stamp and alignment could
be checked through a constructor in each lib?
--
Gaetan Rivet
More information about the dev
mailing list