From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from dpdk.org (dpdk.org [92.243.14.124])
	by inbox.dpdk.org (Postfix) with ESMTP id 18000A04DD;
	Thu, 29 Oct 2020 10:28:04 +0100 (CET)
Received: from [92.243.14.124] (localhost [127.0.0.1])
	by dpdk.org (Postfix) with ESMTP id 2BDFBC84A;
	Thu, 29 Oct 2020 10:28:02 +0100 (CET)
Received: from wout1-smtp.messagingengine.com (wout1-smtp.messagingengine.com
 [64.147.123.24]) by dpdk.org (Postfix) with ESMTP id 7B9B8C83C
 for <dev@dpdk.org>; Thu, 29 Oct 2020 10:28:00 +0100 (CET)
Received: from compute2.internal (compute2.nyi.internal [10.202.2.42])
 by mailout.west.internal (Postfix) with ESMTP id E60DC91A;
 Thu, 29 Oct 2020 05:27:57 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute2.internal (MEProxy); Thu, 29 Oct 2020 05:27:58 -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=fm2; bh=3HCFUAgK7ueg4ccQoNWbtz6JPI
 Ulb9R1YEQVPcXmMsY=; b=QYLZ3D00Tas6tladvVi7ZSEcZkJACOPANT1KQqD63f
 xmAUnHL3hHEECuyhKEbEC7lERaTkgoe/XQnHvQECaNHamsQ0O2BBMQV1nClxmvcb
 qSkqa4P6Y9yadzw0jOUMiqTdV/yzKGoWGuYThTQDteRtvX1ZQ6HMI+Bv6DxPa+2J
 SlaYehdRs+vGgkPSucuAMaBWEZND04xv0xCPJkPvxQWzqQweG0lN9bpBEu5pP0po
 xwFQ4ceGmwNVvpMHG74FvefvoZrerlkZ8RiozDKoseRqbcsYCpuunG5PSg9lPPI9
 7WkJ42UA7THSGfeAoNcUdIdsPL7jXruULraocde/yAKg==
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=fm1; bh=3HCFUAgK7ueg4ccQo
 NWbtz6JPIUlb9R1YEQVPcXmMsY=; b=Ao4J6+sdNo9mn2J9o2NJ6DojHo4rgltjZ
 R9uG0IGCT42lEpqzDtBnGAn/FUBruXrdbn65WIBAPXqDgvsQ2u0Zg1eiocMhnPUX
 ft5kQhGFKcm92oldoR2Y9cNQ6ngr754GPoq0QppFY+kJpbrZkCbW0e7mjtJp6q+v
 +s70OOxqK+K4rj83838XmRiIZE4UjUYeLodZrtJxnYEb6uSgwayGqJAUz0wMdT00
 411z2QmU0QbmTYwFi7ih+1e6GajJCAblXeuGwYA5SZxflMdlPzoT1Ne+xSKxbKO/
 epw1ajLuHWAGI6c0/Q0xSSWbpqDJkSaRQ0SM543nTUXCBJjTdi4+g==
X-ME-Sender: <xms:HIuaX4G9zmUAXNmAcOxf6yF4-X2xs5ts0RwR4fixMD-DgIDagCHdLg>
 <xme:HIuaXxWyKvD9fYNuqf4GIn7ScOR6caMZK4HhJzGZCYfoiyb1KDUQjcjRsQj-GtCMi
 -ExIAqRuNwIY_-NBg>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedujedrleefgddthecutefuodetggdotefrodftvf
 curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
 uegrihhlohhuthemuceftddtnecunecujfgurhephffvufffkffoggfgsedtkeertdertd
 dtnecuhfhrohhmpefvhhhomhgrshcuofhonhhjrghlohhnuceothhhohhmrghssehmohhn
 jhgrlhhonhdrnhgvtheqnecuggftrfgrthhtvghrnhepvdelvdduhedvudduveeuvdevhe
 egudelgeeigfejheduhedttdegudffjeeihffgnecukfhppeejjedrudefgedrvddtfedr
 udekgeenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpe
 hthhhomhgrshesmhhonhhjrghlohhnrdhnvght
X-ME-Proxy: <xmx:HIuaXyIJ6fbQsyG33AE7MFhd_r6usmJCAVxKoq5t_-UVdo_5xWljsA>
 <xmx:HIuaX6HbqKs4rePpEQV-gaY2Yiwr4Qc6Q0At0RCNkzHq8zQqL5IRqA>
 <xmx:HIuaX-Xt5x57qsXz0kSJraBVoAvzdqL0j1tplu9eMY5Q0Ik7uz_kYg>
 <xmx:HYuaXwdLlEoYojt8gmiBRGunmnTJB4lFKGM-G1OUEiMOWm2Qx8NCWg>
Received: from xps.monjalon.net (184.203.134.77.rev.sfr.net [77.134.203.184])
 by mail.messagingengine.com (Postfix) with ESMTPA id C0204328005D;
 Thu, 29 Oct 2020 05:27:55 -0400 (EDT)
From: Thomas Monjalon <thomas@monjalon.net>
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: Thu, 29 Oct 2020 10:27:35 +0100
Message-Id: <20201029092751.3837177-1-thomas@monjalon.net>
X-Mailer: git-send-email 2.28.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Subject: [dpdk-dev] [PATCH 00/15] remove mbuf timestamp
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
Errors-To: dev-bounces@dpdk.org
Sender: "dev" <dev-bounces@dpdk.org>

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,
and bonus...
the mempool pointer can be promoted to the first half of mbuf!

This mbuf layout change is important to allow adding more features
(consuming more dynamic fields) during the next year
and can bring some performance improvement.


Thomas Monjalon (15):
  eventdev: remove software Rx timestamp
  mbuf: add Rx timestamp dynamic flag
  ethdev: register mbuf field and flags for timestamp
  latency: switch timestamp to dynamic mbuf field
  net/ark: switch timestamp to dynamic mbuf field
  net/dpaa2: switch timestamp to dynamic mbuf field
  net/mlx5: fix dynamic mbuf offset lookup check
  net/mlx5: switch timestamp to dynamic mbuf field
  net/nfb: switch timestamp to dynamic mbuf field
  net/octeontx2: switch timestamp to dynamic mbuf field
  net/pcap: switch timestamp to dynamic mbuf field
  app/testpmd: switch timestamp to dynamic mbuf field
  examples/rxtx_callbacks: switch timestamp to dynamic field
  mbuf: remove deprecated timestamp field
  mbuf: move pool pointer in hotter first half

 app/test-pmd/config.c                         | 38 ----------
 app/test-pmd/util.c                           | 39 ++++++++++-
 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          |  6 --
 doc/guides/rel_notes/release_20_11.rst        |  4 ++
 drivers/net/ark/ark_ethdev.c                  | 23 ++++++
 drivers/net/ark/ark_ethdev_rx.c               | 10 ++-
 drivers/net/dpaa2/dpaa2_ethdev.c              | 20 ++++++
 drivers/net/dpaa2/dpaa2_ethdev.h              |  2 +
 drivers/net/dpaa2/dpaa2_rxtx.c                | 25 +++++--
 drivers/net/mlx5/mlx5_rxq.c                   | 36 ++++++++++
 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                      | 23 +++++-
 drivers/net/nfb/nfb_rx.h                      | 18 +++--
 drivers/net/octeontx2/otx2_ethdev.c           | 33 +++++++++
 drivers/net/octeontx2/otx2_rx.h               | 19 ++++-
 drivers/net/octeontx2/version.map             |  7 ++
 drivers/net/pcap/rte_eth_pcap.c               | 29 +++++++-
 examples/rxtx_callbacks/main.c                | 12 +++-
 lib/librte_ethdev/rte_ethdev.c                | 70 +++++++++++++++++++
 lib/librte_ethdev/rte_ethdev.h                | 13 +++-
 .../rte_event_eth_rx_adapter.c                | 11 ---
 .../rte_event_eth_rx_adapter.h                |  6 +-
 lib/librte_kni/rte_kni_common.h               |  3 +-
 lib/librte_latencystats/rte_latencystats.c    | 48 +++++++++++--
 lib/librte_mbuf/rte_mbuf.c                    |  2 -
 lib/librte_mbuf/rte_mbuf.h                    |  1 -
 lib/librte_mbuf/rte_mbuf_core.h               | 15 +---
 lib/librte_mbuf/rte_mbuf_dyn.h                | 11 +--
 37 files changed, 502 insertions(+), 184 deletions(-)

-- 
2.28.0