From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from out5-smtp.messagingengine.com (out5-smtp.messagingengine.com [66.111.4.29]) by dpdk.org (Postfix) with ESMTP id 5901334F0 for ; Thu, 9 May 2019 11:38:52 +0200 (CEST) Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id D1F4521EAE; Thu, 9 May 2019 05:38:51 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute1.internal (MEProxy); Thu, 09 May 2019 05:38:51 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=monjalon.net; h= from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding:content-type; s=mesmtp; bh=httEpQaUXXsPv8/8br+DS8GmvRZdBCpP27SRXb6W9HA=; b=KNK32nFuu2SW X7IjTf1dJ4gcL8XMa0BcSitxWl/j2urkcRIllurqhsgeRDmZ+8nLjb2DelMLCOwb jhLKDwvAWgq67qTm3bnsSS9A6RdnrbnT1a8TMcjNgWP6nT7xQND47FsmU0fIxcEc WaYZ0Dk2C6HYCFuNEO1Ioos7Ik2hSh8= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender :x-sasl-enc; s=fm2; bh=httEpQaUXXsPv8/8br+DS8GmvRZdBCpP27SRXb6W9 HA=; b=rIFP3cEcTCnN2mOKEp+Xdh+D88qnb35YBSQw7I2lq5V/KEHMYyiqDl72y TpAlbv2YmQzpBHu7Ns2OQBo37ZyE11XibNByjYftdlQQD6idFdknEJ2QNLcmK+9X kBjzc7+SvSKwNrvRUXH2XAYiteL5a4Lf3NmpOyIlrbOJvYOboFlElX+XW6tdLf10 rB7aG1grnCr7RnSR2FZrOJ07tLUcRcm0ScH9vY4fS086KaU7h3KKjY1/3Zz4O7dF J4xGcoFsX3x5m6IqvU4nq89zyXVdRc9s0YQJfx+giivL2g6BKb3P710h32u4tPjA vRHuF5yNu1K34kJIM53bihZx3BMpA== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduuddrkeehgddukecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc fjughrpefhvffufffkjghfggfgtgesthfuredttddtvdenucfhrhhomhepvfhhohhmrghs ucfoohhnjhgrlhhonhcuoehthhhomhgrshesmhhonhhjrghlohhnrdhnvghtqeenucffoh hmrghinhepughpughkrdhorhhgnecukfhppeejjedrudefgedrvddtfedrudekgeenucfr rghrrghmpehmrghilhhfrhhomhepthhhohhmrghssehmohhnjhgrlhhonhdrnhgvthenuc evlhhushhtvghrufhiiigvpedt X-ME-Proxy: Received: from xps.localnet (184.203.134.77.rev.sfr.net [77.134.203.184]) by mail.messagingengine.com (Postfix) with ESMTPA id 32AA01037C; Thu, 9 May 2019 05:38:50 -0400 (EDT) From: Thomas Monjalon To: "Burakov, Anatoly" Cc: Bruce Richardson , David Marchand , Stephen Hemminger , Erik Gabriel Carrillo , dev Date: Thu, 09 May 2019 11:38:48 +0200 Message-ID: <3072107.mBd7PBc0fB@xps> In-Reply-To: <7a9bd784-fdf9-75a7-8a5e-f7c348112fce@intel.com> References: <1557355686-4216-1-git-send-email-erik.g.carrillo@intel.com> <20190509090652.GB57@bricha3-MOBL.ger.corp.intel.com> <7a9bd784-fdf9-75a7-8a5e-f7c348112fce@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" Subject: Re: [dpdk-dev] [PATCH] doc: add deprecation notice on timer lib cleanup X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 09 May 2019 09:38:52 -0000 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 > >>> > wrote: > >>> > >>> On Wed, 8 May 2019 17:48:06 -0500 > >>> Erik Gabriel Carrillo >>> > 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 >>> > > >>> > --- > >>> > 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. From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by dpdk.space (Postfix) with ESMTP id A0E4AA0096 for ; Thu, 9 May 2019 11:38:54 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 5EC8F37B7; Thu, 9 May 2019 11:38:54 +0200 (CEST) Received: from out5-smtp.messagingengine.com (out5-smtp.messagingengine.com [66.111.4.29]) by dpdk.org (Postfix) with ESMTP id 5901334F0 for ; Thu, 9 May 2019 11:38:52 +0200 (CEST) Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id D1F4521EAE; Thu, 9 May 2019 05:38:51 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute1.internal (MEProxy); Thu, 09 May 2019 05:38:51 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=monjalon.net; h= from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding:content-type; s=mesmtp; bh=httEpQaUXXsPv8/8br+DS8GmvRZdBCpP27SRXb6W9HA=; b=KNK32nFuu2SW X7IjTf1dJ4gcL8XMa0BcSitxWl/j2urkcRIllurqhsgeRDmZ+8nLjb2DelMLCOwb jhLKDwvAWgq67qTm3bnsSS9A6RdnrbnT1a8TMcjNgWP6nT7xQND47FsmU0fIxcEc WaYZ0Dk2C6HYCFuNEO1Ioos7Ik2hSh8= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender :x-sasl-enc; s=fm2; bh=httEpQaUXXsPv8/8br+DS8GmvRZdBCpP27SRXb6W9 HA=; b=rIFP3cEcTCnN2mOKEp+Xdh+D88qnb35YBSQw7I2lq5V/KEHMYyiqDl72y TpAlbv2YmQzpBHu7Ns2OQBo37ZyE11XibNByjYftdlQQD6idFdknEJ2QNLcmK+9X kBjzc7+SvSKwNrvRUXH2XAYiteL5a4Lf3NmpOyIlrbOJvYOboFlElX+XW6tdLf10 rB7aG1grnCr7RnSR2FZrOJ07tLUcRcm0ScH9vY4fS086KaU7h3KKjY1/3Zz4O7dF J4xGcoFsX3x5m6IqvU4nq89zyXVdRc9s0YQJfx+giivL2g6BKb3P710h32u4tPjA vRHuF5yNu1K34kJIM53bihZx3BMpA== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduuddrkeehgddukecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc fjughrpefhvffufffkjghfggfgtgesthfuredttddtvdenucfhrhhomhepvfhhohhmrghs ucfoohhnjhgrlhhonhcuoehthhhomhgrshesmhhonhhjrghlohhnrdhnvghtqeenucffoh hmrghinhepughpughkrdhorhhgnecukfhppeejjedrudefgedrvddtfedrudekgeenucfr rghrrghmpehmrghilhhfrhhomhepthhhohhmrghssehmohhnjhgrlhhonhdrnhgvthenuc evlhhushhtvghrufhiiigvpedt X-ME-Proxy: Received: from xps.localnet (184.203.134.77.rev.sfr.net [77.134.203.184]) by mail.messagingengine.com (Postfix) with ESMTPA id 32AA01037C; Thu, 9 May 2019 05:38:50 -0400 (EDT) From: Thomas Monjalon To: "Burakov, Anatoly" Cc: Bruce Richardson , David Marchand , Stephen Hemminger , Erik Gabriel Carrillo , dev Date: Thu, 09 May 2019 11:38:48 +0200 Message-ID: <3072107.mBd7PBc0fB@xps> In-Reply-To: <7a9bd784-fdf9-75a7-8a5e-f7c348112fce@intel.com> References: <1557355686-4216-1-git-send-email-erik.g.carrillo@intel.com> <20190509090652.GB57@bricha3-MOBL.ger.corp.intel.com> <7a9bd784-fdf9-75a7-8a5e-f7c348112fce@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="UTF-8" Subject: Re: [dpdk-dev] [PATCH] doc: add deprecation notice on timer lib cleanup X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Message-ID: <20190509093848.bu7b-oL1Wg1mu7CT6Sf7c_v1NOTYvVArLgy4jy3DG_8@z> 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 > >>> > wrote: > >>> > >>> On Wed, 8 May 2019 17:48:06 -0500 > >>> Erik Gabriel Carrillo >>> > 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 >>> > > >>> > --- > >>> > 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.