[dpdk-dev] [PATCH] doc: add deprecation notice on timer lib cleanup
Burakov, Anatoly
anatoly.burakov at intel.com
Thu May 9 12:08:30 CEST 2019
On 09-May-19 10:50 AM, Ray Kinsella wrote:
>
>
> On 09/05/2019 10:38, Thomas Monjalon wrote:
>> 09/05/2019 11:37, Burakov, Anatoly:
>>> On 09-May-19 10:06 AM, Bruce Richardson wrote:
>>>> 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[1], 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.
>>>>>> >
>>>>>> > [1] 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?
>>>>
>>>
>>> The fact that it's undocumented means we can't assume everyone will do
>>> that :)
>>>
>>> If the community agrees that primary/secondary processes should always
>>> use the same DPDK version (regardless of static/dynamic builds etc.),
>>> then this problem would probably be solved.
>>
>> +1 to document that primary/secondary with different DPDK versions
>> is not supported.
>>
>
> +1,
>
> but I think we need to go farther - we need a secondary process to check
> with the primary process.
> We can't assume everyone will read the documentation.
>
That easily can be done, yes.
--
Thanks,
Anatoly
More information about the dev
mailing list