From: Ciara Loftus <ciara.loftus@intel.com>
To: dev@dpdk.org
Cc: bruce.richardson@intel.com, Ciara Loftus <ciara.loftus@intel.com>
Subject: [PATCH v2 00/15] net/intel: rx path selection simplification
Date: Thu, 7 Aug 2025 12:39:34 +0000 [thread overview]
Message-ID: <20250807123949.4063416-1-ciara.loftus@intel.com> (raw)
In-Reply-To: <20250725124919.3564890-1-ciara.loftus@intel.com>
This series aims to simplify the process of selecting an Rx burst
function for the i40e, iavf and ice drivers. Three main simplifications
are made:
1. enforcing the same rx burst function for both primary and secondary
processes.
2. using a common function for determining the maximum SIMD width based
on compiler flags, CPU flags and user-defined limits.
3. using a common function for selecting the rx burst function based on
maximum SIMD width, function features (flex desc, scattered, bulk alloc)
and requested rx offloads.
v2:
* use booleans instead of a mask to represent path features
* updated ci_rx_path_select() to improve readability
* removed check for RTE_CPUFLAG_AVX512F in AVX2 support check
* reordered enum i40e_rx_func_type and i40e_rx_path_infos array
* renamed "burst" to "path" in various places
* reordered iavf_rx_func_type and iavf_rx_path_infos array
* reordered ice_rx_func_type and ice_rx_path_infos array
* fixed secondary process path selection for ice
Bruce Richardson (1):
net/intel: introduce common vector capability function
Ciara Loftus (14):
net/ice: use the same Rx path across process types
net/iavf: rename Rx/Tx function type variables
net/iavf: use the same Rx path across process types
net/i40e: use the same Rx path across process types
net/ice: use the new common vector capability function
net/iavf: use the new common vector capability function
net/i40e: use the new common vector capability function
net/iavf: remove redundant field from iavf adapter struct
net/ice: remove unsupported Rx offload
net/iavf: reorder enum of Rx function types
net/intel: introduce infrastructure for Rx path selection
net/ice: use the common Rx path selection infrastructure
net/iavf: use the common Rx path selection infrastructure
net/i40e: use the common Rx path selection infrastructure
drivers/net/intel/common/rx.h | 103 ++++
drivers/net/intel/common/rx_vec_x86.h | 22 +
drivers/net/intel/i40e/i40e_ethdev.h | 25 +-
drivers/net/intel/i40e/i40e_rxtx.c | 251 ++++------
drivers/net/intel/i40e/i40e_rxtx.h | 16 +
.../net/intel/i40e/i40e_rxtx_vec_altivec.c | 6 +
drivers/net/intel/i40e/i40e_rxtx_vec_common.h | 9 +-
drivers/net/intel/i40e/i40e_rxtx_vec_neon.c | 6 +
drivers/net/intel/i40e/i40e_rxtx_vec_sse.c | 6 +
drivers/net/intel/iavf/iavf.h | 31 +-
drivers/net/intel/iavf/iavf_ethdev.c | 1 -
drivers/net/intel/iavf/iavf_rxtx.c | 444 ++++++------------
drivers/net/intel/iavf/iavf_rxtx.h | 51 +-
drivers/net/intel/iavf/iavf_rxtx_vec_common.h | 14 +-
drivers/net/intel/iavf/iavf_rxtx_vec_neon.c | 6 +
drivers/net/intel/iavf/iavf_rxtx_vec_sse.c | 6 +
drivers/net/intel/ice/ice_ethdev.c | 2 +
drivers/net/intel/ice/ice_ethdev.h | 25 +-
drivers/net/intel/ice/ice_rxtx.c | 274 ++++-------
drivers/net/intel/ice/ice_rxtx.h | 29 ++
drivers/net/intel/ice/ice_rxtx_vec_common.h | 18 +-
drivers/net/intel/ice/ice_rxtx_vec_sse.c | 6 +
22 files changed, 644 insertions(+), 707 deletions(-)
--
2.34.1
next prev parent reply other threads:[~2025-08-07 12:39 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-07-25 12:49 [RFC PATCH 00/14] " Ciara Loftus
2025-07-25 12:49 ` [RFC PATCH 01/14] net/ice: use the same Rx path across process types Ciara Loftus
2025-07-25 13:40 ` Bruce Richardson
2025-07-25 12:49 ` [RFC PATCH 02/14] net/iavf: rename Rx/Tx function type variables Ciara Loftus
2025-07-25 13:40 ` Bruce Richardson
2025-07-25 12:49 ` [RFC PATCH 03/14] net/iavf: use the same Rx path across process types Ciara Loftus
2025-07-25 13:41 ` Bruce Richardson
2025-07-25 12:49 ` [RFC PATCH 04/14] net/i40e: " Ciara Loftus
2025-07-25 13:43 ` Bruce Richardson
2025-07-25 12:49 ` [RFC PATCH 05/14] net/intel: introduce common vector capability function Ciara Loftus
2025-07-25 13:45 ` Bruce Richardson
2025-07-25 12:49 ` [RFC PATCH 06/14] net/ice: use the new " Ciara Loftus
2025-07-25 13:56 ` Bruce Richardson
2025-08-06 14:46 ` Loftus, Ciara
2025-07-25 12:49 ` [RFC PATCH 07/14] net/iavf: " Ciara Loftus
2025-07-25 12:49 ` [RFC PATCH 08/14] net/i40e: " Ciara Loftus
2025-07-25 12:49 ` [RFC PATCH 09/14] net/iavf: remove redundant field from iavf adapter struct Ciara Loftus
2025-07-25 14:51 ` Bruce Richardson
2025-07-25 12:49 ` [RFC PATCH 10/14] net/intel: introduce infrastructure for Rx path selection Ciara Loftus
2025-07-25 15:21 ` Bruce Richardson
2025-08-06 10:14 ` Loftus, Ciara
2025-08-06 10:36 ` Bruce Richardson
2025-07-25 12:49 ` [RFC PATCH 11/14] net/ice: remove unsupported Rx offload Ciara Loftus
2025-07-25 15:22 ` Bruce Richardson
2025-07-25 12:49 ` [RFC PATCH 12/14] net/ice: use the common Rx path selection infrastructure Ciara Loftus
2025-07-25 12:49 ` [RFC PATCH 13/14] net/iavf: " Ciara Loftus
2025-07-25 12:49 ` [RFC PATCH 14/14] net/i40e: " Ciara Loftus
2025-08-07 12:39 ` Ciara Loftus [this message]
2025-08-07 12:39 ` [PATCH v2 01/15] net/ice: use the same Rx path across process types Ciara Loftus
2025-08-07 12:39 ` [PATCH v2 02/15] net/iavf: rename Rx/Tx function type variables Ciara Loftus
2025-08-07 12:39 ` [PATCH v2 03/15] net/iavf: use the same Rx path across process types Ciara Loftus
2025-08-07 12:39 ` [PATCH v2 04/15] net/i40e: " Ciara Loftus
2025-08-07 12:39 ` [PATCH v2 05/15] net/intel: introduce common vector capability function Ciara Loftus
2025-08-07 12:39 ` [PATCH v2 06/15] net/ice: use the new " Ciara Loftus
2025-08-07 12:39 ` [PATCH v2 07/15] net/iavf: " Ciara Loftus
2025-08-07 12:39 ` [PATCH v2 08/15] net/i40e: " Ciara Loftus
2025-08-07 12:39 ` [PATCH v2 09/15] net/iavf: remove redundant field from iavf adapter struct Ciara Loftus
2025-08-07 12:39 ` [PATCH v2 10/15] net/ice: remove unsupported Rx offload Ciara Loftus
2025-08-07 12:39 ` [PATCH v2 11/15] net/iavf: reorder enum of Rx function types Ciara Loftus
2025-08-07 12:39 ` [PATCH v2 12/15] net/intel: introduce infrastructure for Rx path selection Ciara Loftus
2025-08-07 12:39 ` [PATCH v2 13/15] net/ice: use the common Rx path selection infrastructure Ciara Loftus
2025-08-07 12:39 ` [PATCH v2 14/15] net/iavf: " Ciara Loftus
2025-08-07 12:39 ` [PATCH v2 15/15] net/i40e: " Ciara Loftus
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250807123949.4063416-1-ciara.loftus@intel.com \
--to=ciara.loftus@intel.com \
--cc=bruce.richardson@intel.com \
--cc=dev@dpdk.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).