From patchwork Thu Jan 30 14:20:03 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ferruh Yigit X-Patchwork-Id: 65359 X-Patchwork-Delegate: david.marchand@redhat.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id A2C32A0524; Thu, 30 Jan 2020 15:20:12 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 485EC1C00F; Thu, 30 Jan 2020 15:20:12 +0100 (CET) Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by dpdk.org (Postfix) with ESMTP id 67F6C1BFFE for ; Thu, 30 Jan 2020 15:20:10 +0100 (CET) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by orsmga104.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 30 Jan 2020 06:20:09 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.70,382,1574150400"; d="scan'208";a="277811476" Received: from silpixa00399752.ir.intel.com (HELO silpixa00399752.ger.corp.intel.com) ([10.237.222.180]) by FMSMGA003.fm.intel.com with ESMTP; 30 Jan 2020 06:20:07 -0800 From: Ferruh Yigit To: Neil Horman , John McNamara , Marko Kovacevic Cc: dev@dpdk.org Date: Thu, 30 Jan 2020 14:20:03 +0000 Message-Id: <20200130142003.2645765-1-ferruh.yigit@intel.com> X-Mailer: git-send-email 2.24.1 MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH] doc: deprecate using MAX values as array size 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" Adding the deprecation notice as reminder for next ABI breakage release (20.11). This one time breakage is required to be able to extend enum/define without breaking ABI. Signed-off-by: Ferruh Yigit Acked-by: Akhil Goyal Acked-by: Andrew Rybchenko Acked-by: Thomas Monjalon Acked-by: David Marchand Acked-by: Akhil Goyal Acked-by: Andrew Rybchenko Acked-by: Thomas Monjalon Acked-by: David Marchand --- doc/guides/rel_notes/deprecation.rst | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst index dfcca87ab..99d81564a 100644 --- a/doc/guides/rel_notes/deprecation.rst +++ b/doc/guides/rel_notes/deprecation.rst @@ -38,6 +38,20 @@ Deprecation Notices remove it from the externally visible ABI and allow it to be updated in the future. +* lib: will fix extending some enum/define breaking the ABI. There are multiple + samples in DPDK that enum/define terminated with a ``.*MAX.*`` value which is + used by iterators, and arrays holding these values are sized with this + ``.*MAX.*`` value. So extending this enum/define increases the ``.*MAX.*`` + value which increases the size of the array and depending on how/where the + array is used this may break the ABI. + ``RTE_ETH_FLOW_MAX`` is one sample of the mentioned case, adding a new flow + type will break the ABI because of ``flex_mask[RTE_ETH_FLOW_MAX]`` array + usage in following public struct hierarchy: + ``rte_eth_fdir_flex_conf -> rte_fdir_conf -> rte_eth_conf (in the middle)``. + Need to identify this kind of usages and fix in 20.11, otherwise this blocks + us extending existing enum/define. + One solution can be using a fixed size array instead of ``.*MAX.*`` value. + * dpaa2: removal of ``rte_dpaa2_memsegs`` structure which has been replaced by a pa-va search library. This structure was earlier being used for holding memory segments used by dpaa2 driver for faster pa->va translation. This