From patchwork Fri Jul 31 16:03:49 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Thomas Monjalon X-Patchwork-Id: 75107 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 01BBEA053E; Fri, 31 Jul 2020 18:04:13 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id A7DB8262E; Fri, 31 Jul 2020 18:04:12 +0200 (CEST) Received: from wout4-smtp.messagingengine.com (wout4-smtp.messagingengine.com [64.147.123.20]) by dpdk.org (Postfix) with ESMTP id E221C2629 for ; Fri, 31 Jul 2020 18:04:10 +0200 (CEST) Received: from compute7.internal (compute7.nyi.internal [10.202.2.47]) by mailout.west.internal (Postfix) with ESMTP id 52D5EF60; Fri, 31 Jul 2020 12:04:09 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute7.internal (MEProxy); Fri, 31 Jul 2020 12:04:09 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=monjalon.net; h= from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; s=fm1; bh=opgDY73OjTh357PweHR8DMgWkr e5JHJkYbOnBqJHueA=; b=EkALoWODZNfrG/QwCUAT5enOF4RLquF4nr8KKk4b5q hO7Y7WFKNOKhEDCSATjVc3Rn16OLXNHsejwDs+nVywF7v3YJgDLwrVrJN/glvvSN OSXxFpQMK5ITCj9F1+GSY9djuOPpkmlPDLgI6nXC8RuttpU67wNBumRRmclWjUgl rgkLYdzfx/aHaFG2uKB6KfqzgxKChBwbrrISzzNGZAU7OIeNrmqAcE2y53/YSB+Y Zjvcyu5XChlDyc+1B+6BqDeYQWei8e7M6cKJRJ3dcenqeE20C1TgtRe1tjpD4VCx /6D9BdB71hZSgPRC5VXCFSyL0734LTqrOkXyWiICERKg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:date:from :message-id:mime-version:subject:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm3; bh=opgDY73OjTh357Pwe HR8DMgWkre5JHJkYbOnBqJHueA=; b=mHrQMFa+ZmrkiXkEboCKs8qnBkLPcY/bA Ziw/tkS3cIKrJVLw06kROGQU390JhkOakdeNVtFRW3NwUZiqFNX4AKubyghP63Yg B6QtdphK6vMMn7oAUPZ1t49pTnEaODOj3VY9UecRm8U8dKWuPSx+kdX1FK44Qagi 1zVLtki+odqLcaI3mg87cwzrEr8GtV6TuCOiFG2jp+GVvBr0t5moSCMcJlJw39xK l57KgYSsZz5caRdaITmeNqNL9QYSGDfTxF/m4ViRHqrCewqClCkul3IIouSDDBP6 dQMj9BTifr0ZCFHQmsB3mo3XPi6f4Qp4vQJJtA1YXJHKpnJ3ImgRw== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduiedrieekgdeljecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc fjughrpefhvffufffkofgggfestdekredtredttdenucfhrhhomhepvfhhohhmrghsucfo ohhnjhgrlhhonhcuoehthhhomhgrshesmhhonhhjrghlohhnrdhnvghtqeenucggtffrrg htthgvrhhnpeeujefhlefffedvvdejleegleeiteeitdevjeefvdeuieeuhedtiefhhefh vefgteenucffohhmrghinhepughpughkrdhorhhgnecukfhppeejjedrudefgedrvddtfe drudekgeenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhm pehthhhomhgrshesmhhonhhjrghlohhnrdhnvght X-ME-Proxy: Received: from xps.monjalon.net (184.203.134.77.rev.sfr.net [77.134.203.184]) by mail.messagingengine.com (Postfix) with ESMTPA id BF3CD3280065; Fri, 31 Jul 2020 12:04:06 -0400 (EDT) From: Thomas Monjalon To: dev@dpdk.org Cc: olivier.matz@6wind.com, Ray Kinsella , Neil Horman , John McNamara , Marko Kovacevic Date: Fri, 31 Jul 2020 18:03:49 +0200 Message-Id: <20200731160349.3198317-1-thomas@monjalon.net> X-Mailer: git-send-email 2.27.0 MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH] doc: announce API change in mbuf 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" In order to prepare for adding more features requiring more space in mbuf, some static fields must become dynamic. Some small layout changes may have performance benefits as well. The deprecation notice for atomic refcount is moved and reworded to fit below the layout deprecation. Signed-off-by: Thomas Monjalon Acked-by: Olivier Matz Acked-by: Andrew Rybchenko Acked-by: David Marchand --- doc/guides/rel_notes/deprecation.rst | 26 ++++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst index ea4cfa7a48..015c386c76 100644 --- a/doc/guides/rel_notes/deprecation.rst +++ b/doc/guides/rel_notes/deprecation.rst @@ -67,6 +67,26 @@ Deprecation Notices us extending existing enum/define. One solution can be using a fixed size array instead of ``.*MAX.*`` value. +* mbuf: Some fields will be converted to dynamic API in DPDK 20.11 + in order to reserve more space for the dynamic fields. + The following static fields will be moved as dynamic: + + - ``timestamp`` + - ``userdata`` / ``udata64`` + - ``seqn`` + + As a consequence, the layout of the ``struct rte_mbuf`` will be re-arranged, + avoiding impact on vectorized implementation of the driver datapaths, + while evaluating performance gains of a better use of the first cache line. + + The deprecated unioned fields ``buf_physaddr`` and ``refcnt_atomic`` + (as explained below) will be removed in DPDK 20.11. + +* mbuf: ``refcnt_atomic`` member in structures ``rte_mbuf`` and + ``rte_mbuf_ext_shared_info`` is of type ``rte_atomic16_t``. + Due to adoption of C11 atomic builtins, the field ``refcnt_atomic`` + will be replaced with ``refcnt`` of type ``uint16_t`` in DPDK 20.11. + * ethdev: Split the ``struct eth_dev_ops`` struct to hide it as much as possible will be done in 20.11. Currently the ``struct eth_dev_ops`` struct is accessible by the application @@ -132,12 +152,6 @@ Deprecation Notices in "rte_sched.h". These changes are aligned to improvements suggested in the RFC https://mails.dpdk.org/archives/dev/2018-November/120035.html. -* mbuf: ``refcnt_atomic`` member in structures ``rte_mbuf`` and - ``rte_mbuf_ext_shared_info`` is of type ``rte_atomic16_t``. Due to adoption - of C11 atomic builtins it will be of type ``uint16_t``. ``refcnt_atomic`` - will be removed in 20.11. It will be replaced with ``refcnt`` of type - ``uint16_t``. - * metrics: The function ``rte_metrics_init`` will have a non-void return in order to notify errors instead of calling ``rte_exit``.