From patchwork Tue Nov 3 12:21: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: 83561 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 AA7C9A0521; Tue, 3 Nov 2020 13:22:18 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 9149EC99E; Tue, 3 Nov 2020 13:22:17 +0100 (CET) Received: from wout1-smtp.messagingengine.com (wout1-smtp.messagingengine.com [64.147.123.24]) by dpdk.org (Postfix) with ESMTP id 225FBC966 for ; Tue, 3 Nov 2020 13:22:16 +0100 (CET) Received: from compute2.internal (compute2.nyi.internal [10.202.2.42]) by mailout.west.internal (Postfix) with ESMTP id 8A648B55; Tue, 3 Nov 2020 07:22:13 -0500 (EST) Received: from mailfrontend2 ([10.202.2.163]) by compute2.internal (MEProxy); Tue, 03 Nov 2020 07:22:14 -0500 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; s=fm2; bh=VEEawHU4AzEQh pDzAl5aauhqfzetG3rgYgs9f2b5sKA=; b=HcmMkBSIVGSZk5N+0dxa8FHtcNC1p wmbJOCMjYPUsQEXbfa/4XEmJ5ZIPX6JFwL0g9tAQOoBcgKq0p3yI+DQtpWCjeCGP uQedsVFi4Szv1reBxcWyC/kjUdcDtXPzHNY1WHWeT2EuRjbNiy8T6TfSz++AiQRK gWBkDUwdsTJ44Aj+MU1DAde3TN62p/tkMW3uLJhZskQQ6d2n8xLBl+oxV7RoM2f2 hAGKgNDfC/+li+hrlaTV8qnck+C8agduV0VlAFoJWp5U69KnAJ0EO3yae7UX3nh9 tArYyX8smdZKmvlFGw6uz5GfQurtcLMMITHzE1KxdrxsaaN8+D5WLIrzg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding: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= fm1; bh=VEEawHU4AzEQhpDzAl5aauhqfzetG3rgYgs9f2b5sKA=; b=Xo0RXaU9 sitd3q0h615j0S5dJZKcOOroTHSGUsdrfys6oktWjpniIp0k1ryDHJrHMrN2leFl N8XuyAuNTtDg0jAOM39ggi8gVYZEr41AF79VHVIZxy1W1clzwkRBL3QD2eJ7mBnc kOrQpYEmf3JzHbUDWKDkqiXW847CngkiMpqroPxZvh1WiTSjocFABxMUYc77NPle RHxZ61pTEgR89oyORtvMpoy6vTbMyo00+GOMqaRTr04H8+A9bDMkbpzlmsss9y5z 1QzYhiKwHTBGh2M19aWpNq6O3Cd+c9ePlxR3d+YQZqdOqG5JzOVKDkT+xnzMQyRy k6el4/khtqXr2w== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedujedruddtfedgfeelucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucenucfjughrpefhvffufffkofgjfhgggfestdekre dtredttdenucfhrhhomhepvfhhohhmrghsucfoohhnjhgrlhhonhcuoehthhhomhgrshes mhhonhhjrghlohhnrdhnvghtqeenucggtffrrghtthgvrhhnpedvhefgiedvjeegtdevhe efhfetleefgfeivefgffevfeejgedtgfeutdehtdegveenucfkphepjeejrddufeegrddv tdefrddukeegnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrh homhepthhhohhmrghssehmohhnjhgrlhhonhdrnhgvth 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 D22723064674; Tue, 3 Nov 2020 07:22:10 -0500 (EST) From: Thomas Monjalon To: dev@dpdk.org Cc: ferruh.yigit@intel.com, david.marchand@redhat.com, bruce.richardson@intel.com, olivier.matz@6wind.com, andrew.rybchenko@oktetlabs.ru, jerinj@marvell.com, viacheslavo@nvidia.com Date: Tue, 3 Nov 2020 13:21:49 +0100 Message-Id: <20201103122205.183472-1-thomas@monjalon.net> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20201029092751.3837177-1-thomas@monjalon.net> References: <20201029092751.3837177-1-thomas@monjalon.net> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v4 00/16] remove mbuf timestamp 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" The mbuf field timestamp was announced to be removed for three reasons: - a dynamic field already exist, used for Tx only - this field always used 8 bytes even if unneeded - this field is in the first half (cacheline) of mbuf After this series, the dynamic field timestamp is used for both Rx and Tx with separate dynamic flags to distinguish when the value is meaningful without resetting the field during forwarding. As a consequence, 8 bytes can be re-allocated to dynamic fields in the first half of mbuf structure. It is still open to change more the mbuf layout. This mbuf layout change is important to allow adding more features (consuming more dynamic fields) during the next year, and can allow performance improvements with new usages in the first half. v4: - use local variable in nfb - fix flag initialization - remove useless blank line v3: - move ark variables declaration in a .h file - improve cache locality for octeontx2 - add comments about cache locality in commit logs - add comment for unused flag offset 17 - add timestamp register functions - replace lookup with register in drivers and apps - remove register in ethdev v2: - remove optimization to register only once in ethdev - fix error message in latencystats - convert rxtx_callbacks macro to inline function - increase dynamic fields space - do not move pool field Thomas Monjalon (16): eventdev: remove software Rx timestamp mbuf: add Rx timestamp flag and helpers latency: switch Rx timestamp to dynamic mbuf field net/ark: switch Rx timestamp to dynamic mbuf field net/dpaa2: switch Rx timestamp to dynamic mbuf field net/mlx5: fix dynamic mbuf offset lookup check net/mlx5: switch Rx timestamp to dynamic mbuf field net/nfb: switch Rx timestamp to dynamic mbuf field net/octeontx2: switch Rx timestamp to dynamic mbuf field net/pcap: switch Rx timestamp to dynamic mbuf field app/testpmd: switch Rx timestamp to dynamic mbuf field examples/rxtx_callbacks: switch timestamp to dynamic field ethdev: add doxygen comment for Rx timestamp API mbuf: remove deprecated timestamp field mbuf: add Tx timestamp registration helper ethdev: include mbuf registration in Tx timestamp API app/test-pmd/config.c | 38 ------------- app/test-pmd/util.c | 38 ++++++++++++- app/test/test_mbuf.c | 1 - doc/guides/nics/mlx5.rst | 5 +- .../prog_guide/event_ethernet_rx_adapter.rst | 6 +- doc/guides/rel_notes/deprecation.rst | 4 -- doc/guides/rel_notes/release_20_11.rst | 4 ++ drivers/net/ark/ark_ethdev.c | 16 ++++++ drivers/net/ark/ark_ethdev_rx.c | 7 ++- drivers/net/ark/ark_ethdev_rx.h | 2 + drivers/net/dpaa2/dpaa2_ethdev.c | 11 ++++ drivers/net/dpaa2/dpaa2_ethdev.h | 2 + drivers/net/dpaa2/dpaa2_rxtx.c | 25 ++++++--- drivers/net/mlx5/mlx5_ethdev.c | 8 ++- drivers/net/mlx5/mlx5_rxq.c | 8 +++ drivers/net/mlx5/mlx5_rxtx.c | 8 +-- drivers/net/mlx5/mlx5_rxtx.h | 19 +++++++ drivers/net/mlx5/mlx5_rxtx_vec_altivec.h | 41 +++++++------- drivers/net/mlx5/mlx5_rxtx_vec_neon.h | 43 ++++++++------- drivers/net/mlx5/mlx5_rxtx_vec_sse.h | 35 ++++++------ drivers/net/mlx5/mlx5_trigger.c | 2 +- drivers/net/mlx5/mlx5_txq.c | 2 +- drivers/net/nfb/nfb_rx.c | 15 ++++- drivers/net/nfb/nfb_rx.h | 21 +++++-- drivers/net/octeontx2/otx2_ethdev.c | 10 ++++ drivers/net/octeontx2/otx2_rx.h | 19 ++++++- drivers/net/pcap/rte_eth_pcap.c | 20 ++++++- examples/rxtx_callbacks/main.c | 16 +++++- lib/librte_ethdev/rte_ethdev.h | 13 ++++- .../rte_event_eth_rx_adapter.c | 11 ---- .../rte_event_eth_rx_adapter.h | 6 +- lib/librte_latencystats/rte_latencystats.c | 30 ++++++++-- lib/librte_mbuf/rte_mbuf.c | 2 - lib/librte_mbuf/rte_mbuf.h | 2 +- lib/librte_mbuf/rte_mbuf_core.h | 12 +--- lib/librte_mbuf/rte_mbuf_dyn.c | 51 +++++++++++++++++ lib/librte_mbuf/rte_mbuf_dyn.h | 55 +++++++++++++++++-- lib/librte_mbuf/version.map | 2 + 38 files changed, 431 insertions(+), 179 deletions(-)