From: Stephen Hemminger <stephen@networkplumber.org>
To: "Burakov, Anatoly" <anatoly.burakov@intel.com>
Cc: Ray Kinsella <mdr@ashroe.eu>,
Thomas Monjalon <thomas@monjalon.net>,
Bruce Richardson <bruce.richardson@intel.com>,
David Marchand <david.marchand@redhat.com>,
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: Fri, 10 May 2019 07:42:31 -0700 [thread overview]
Message-ID: <20190510074231.483d7f48@hermes.lan> (raw)
In-Reply-To: <dd35775d-5de0-194a-b827-3ae40ec3c554@intel.com>
On Thu, 9 May 2019 11:08:30 +0100
"Burakov, Anatoly" <anatoly.burakov@intel.com> wrote:
> 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.
>
FYI - I submitted patches to make lcore_config private.
These patches should handle mem_config.
And I started on making eal_config private (but mem_config got in the way).
Other candidates are the internals behind ethdev and devices.
next prev parent reply other threads:[~2019-05-10 14:42 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
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 [this message]
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=20190510074231.483d7f48@hermes.lan \
--to=stephen@networkplumber.org \
--cc=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=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).