DPDK patches and discussions
 help / color / mirror / Atom feed
From: "Burakov, Anatoly" <anatoly.burakov@intel.com>
To: Ray Kinsella <mdr@ashroe.eu>, Thomas Monjalon <thomas@monjalon.net>
Cc: Bruce Richardson <bruce.richardson@intel.com>,
	David Marchand <david.marchand@redhat.com>,
	Stephen Hemminger <stephen@networkplumber.org>,
	Erik Gabriel Carrillo <erik.g.carrillo@intel.com>,
	dev <dev@dpdk.org>
Subject: Re: [dpdk-dev] [PATCH] doc: add deprecation notice on timer lib cleanup
Date: Thu, 9 May 2019 11:08:30 +0100	[thread overview]
Message-ID: <dd35775d-5de0-194a-b827-3ae40ec3c554@intel.com> (raw)
In-Reply-To: <28911350-06c1-2479-8e2f-7b372d8f1df7@ashroe.eu>

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@networkplumber.org <mailto:stephen@networkplumber.org>> wrote:
>>>>>>
>>>>>>       On Wed,  8 May 2019 17:48:06 -0500
>>>>>>       Erik Gabriel Carrillo <erik.g.carrillo@intel.com
>>>>>>       <mailto:erik.g.carrillo@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@intel.com
>>>>>>       <mailto:erik.g.carrillo@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

  parent reply	other threads:[~2019-05-09 10:08 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-05-08 22:48 Erik Gabriel Carrillo
2019-05-08 22:48 ` Erik Gabriel Carrillo
2019-05-09  1:11 ` Stephen Hemminger
2019-05-09  1:11   ` Stephen Hemminger
2019-05-09  7:05   ` David Marchand
2019-05-09  7:05     ` David Marchand
2019-05-09  8:33     ` Burakov, Anatoly
2019-05-09  8:33       ` Burakov, Anatoly
2019-05-09  9:06       ` Bruce Richardson
2019-05-09  9:06         ` Bruce Richardson
2019-05-09  9:37         ` Burakov, Anatoly
2019-05-09  9:37           ` Burakov, Anatoly
2019-05-09  9:38           ` Thomas Monjalon
2019-05-09  9:38             ` Thomas Monjalon
2019-05-09  9:50             ` Ray Kinsella
2019-05-09  9:50               ` Ray Kinsella
2019-05-09 10:08               ` Burakov, Anatoly [this message]
2019-05-09 10:08                 ` Burakov, Anatoly
2019-05-09 19:02                 ` Stephen Hemminger
2019-05-09 19:02                   ` Stephen Hemminger
2019-05-10 14:42                 ` Stephen Hemminger
2019-05-10 14:42                   ` Stephen Hemminger
2019-05-09 11:53 ` Burakov, Anatoly
2019-05-09 11:53   ` Burakov, Anatoly
2019-05-09 18:51 ` [dpdk-dev] [PATCH v2] doc: add deprecation notice on EAL mem config Erik Gabriel Carrillo
2019-05-09 18:51   ` Erik Gabriel Carrillo
2019-05-10  9:31   ` Burakov, Anatoly
2019-05-10  9:31     ` Burakov, Anatoly
2019-05-10  9:34     ` Bruce Richardson
2019-05-10  9:34       ` Bruce Richardson
2019-05-13 21:03       ` Thomas Monjalon
2019-05-13 21:03         ` Thomas Monjalon
2019-05-10 13:44   ` David Marchand
2019-05-10 13:44     ` David Marchand

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=dd35775d-5de0-194a-b827-3ae40ec3c554@intel.com \
    --to=anatoly.burakov@intel.com \
    --cc=bruce.richardson@intel.com \
    --cc=david.marchand@redhat.com \
    --cc=dev@dpdk.org \
    --cc=erik.g.carrillo@intel.com \
    --cc=mdr@ashroe.eu \
    --cc=stephen@networkplumber.org \
    --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).