[dpdk-dev] [PATCH] doc: add deprecation notice on timer lib cleanup
bruce.richardson at intel.com
Thu May 9 11:06:53 CEST 2019
On Thu, May 09, 2019 at 09:33:32AM +0100, Burakov, Anatoly wrote:
> On 09-May-19 8:05 AM, David Marchand wrote:
> > On Thu, May 9, 2019 at 3:11 AM Stephen Hemminger
> > <stephen at networkplumber.org <mailto:stephen at networkplumber.org>> wrote:
> > On Wed, 8 May 2019 17:48:06 -0500
> > Erik Gabriel Carrillo <erik.g.carrillo at intel.com
> > <mailto:erik.g.carrillo at intel.com>> wrote:
> > > Due to an upcoming fix to allow the timer library to safely free its
> > > allocations during the finalize() call, an ABI change will be
> > > required. A new lock will be added to the rte_mem_config structure,
> > > which will be used by the timer library to synchronize init/finalize
> > > calls among multiple processes.
> > >
> > >  http://patches.dpdk.org/patch/53334/
> > >
> > > Signed-off-by: Erik Gabriel Carrillo <erik.g.carrillo at intel.com
> > <mailto:erik.g.carrillo at intel.com>>
> > > ---
> > > doc/guides/rel_notes/deprecation.rst | 4 ++++
> > > 1 file changed, 4 insertions(+)
> > >
> > > diff --git a/doc/guides/rel_notes/deprecation.rst
> > b/doc/guides/rel_notes/deprecation.rst
> > > index b47c8c2..7551383 100644
> > > --- a/doc/guides/rel_notes/deprecation.rst
> > > +++ b/doc/guides/rel_notes/deprecation.rst
> > > @@ -31,6 +31,10 @@ Deprecation Notices
> > >
> > > + ``rte_eal_devargs_type_count``
> > >
> > > +* eal: the ``rte_mem_config`` struct will change to include a
> > new lock that
> > > + will allow the timer subsystem to safely release its
> > allocations at cleanup
> > > + time. This will result in an ABI break.
> > > +
> > > * vfio: removal of ``rte_vfio_dma_map`` and
> > ``rte_vfio_dma_unmap`` APIs which
> > > have been replaced with ``rte_dev_dma_map`` and
> > ``rte_dev_dma_unmap``
> > > functions. The due date for the removal targets DPDK 20.02.
> > NAK
> > Please go to the effort of making rte_mem_config not part of the
> > visible ABI.
> > Then change it.
> > +1.
> I agree on principle, however this won't solve the issue. It doesn't need to
> be externally visible, but that's not all of its problems - it's also shared
> between processes so there's an ABI contract between primary and secondary
> too. This means that, even if the structure itself is not public, any
> changes to it will still result in an ABI break. That's the nature of our
> shared memory.
> In other words, if your goal is to avoid ABI breaks on changing this
> structure, making it internal won't help in the slightest.
Is there an ABI contract between primary and secondary. I always assumed
that if using secondary processes the requirement (though undocumented) was
that both had to be linked against the exact same versions of DPDK?
More information about the dev