From: Mingxia Liu <mingxia.liu@intel.com>
To: dev@dpdk.org
Cc: jingjing.wu@intel.com, beilei.xing@intel.com,
qi.z.zhang@intel.com, Mingxia Liu <mingxia.liu@intel.com>,
Wenjun Wu <wenjun1.wu@intel.com>
Subject: [PATCH 15/21] net/cpfl: add AVX512 data path for single queue model
Date: Fri, 23 Dec 2022 01:55:52 +0000 [thread overview]
Message-ID: <20221223015558.3143279-16-mingxia.liu@intel.com> (raw)
In-Reply-To: <20221223015558.3143279-1-mingxia.liu@intel.com>
Add support of AVX512 vector data path for single queue model.
Signed-off-by: Wenjun Wu <wenjun1.wu@intel.com>
Signed-off-by: Mingxia Liu <mingxia.liu@intel.com>
---
doc/guides/nics/cpfl.rst | 24 +++++-
drivers/net/cpfl/cpfl_ethdev.c | 3 +-
drivers/net/cpfl/cpfl_rxtx.c | 85 +++++++++++++++++++++
drivers/net/cpfl/cpfl_rxtx_vec_common.h | 99 +++++++++++++++++++++++++
drivers/net/cpfl/meson.build | 25 ++++++-
5 files changed, 233 insertions(+), 3 deletions(-)
create mode 100644 drivers/net/cpfl/cpfl_rxtx_vec_common.h
diff --git a/doc/guides/nics/cpfl.rst b/doc/guides/nics/cpfl.rst
index 064c69ba7d..489a2d6153 100644
--- a/doc/guides/nics/cpfl.rst
+++ b/doc/guides/nics/cpfl.rst
@@ -63,4 +63,26 @@ Runtime Config Options
Driver compilation and testing
------------------------------
-Refer to the document :doc:`build_and_test` for details.
\ No newline at end of file
+Refer to the document :doc:`build_and_test` for details.
+
+Features
+--------
+
+Vector PMD
+~~~~~~~~~~
+
+Vector path for Rx and Tx path are selected automatically.
+The paths are chosen based on 2 conditions:
+
+- ``CPU``
+
+ On the x86 platform, the driver checks if the CPU supports AVX512.
+ If the CPU supports AVX512 and EAL argument ``--force-max-simd-bitwidth``
+ is set to 512, AVX512 paths will be chosen.
+
+- ``Offload features``
+
+ The supported HW offload features are described in the document cpfl.ini,
+ A value "P" means the offload feature is not supported by vector path.
+ If any not supported features are used, cpfl vector PMD is disabled
+ and the scalar paths are chosen.
diff --git a/drivers/net/cpfl/cpfl_ethdev.c b/drivers/net/cpfl/cpfl_ethdev.c
index f684d7cff5..5fe800f27c 100644
--- a/drivers/net/cpfl/cpfl_ethdev.c
+++ b/drivers/net/cpfl/cpfl_ethdev.c
@@ -111,7 +111,8 @@ cpfl_dev_info_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info)
RTE_ETH_TX_OFFLOAD_TCP_CKSUM |
RTE_ETH_TX_OFFLOAD_SCTP_CKSUM |
RTE_ETH_TX_OFFLOAD_TCP_TSO |
- RTE_ETH_TX_OFFLOAD_MULTI_SEGS;
+ RTE_ETH_TX_OFFLOAD_MULTI_SEGS |
+ RTE_ETH_TX_OFFLOAD_MBUF_FAST_FREE;
dev_info->default_txconf = (struct rte_eth_txconf) {
.tx_free_thresh = CPFL_DEFAULT_TX_FREE_THRESH,
diff --git a/drivers/net/cpfl/cpfl_rxtx.c b/drivers/net/cpfl/cpfl_rxtx.c
index 0e053f4434..63f474a79b 100644
--- a/drivers/net/cpfl/cpfl_rxtx.c
+++ b/drivers/net/cpfl/cpfl_rxtx.c
@@ -8,6 +8,7 @@
#include "cpfl_ethdev.h"
#include "cpfl_rxtx.h"
+#include "cpfl_rxtx_vec_common.h"
static uint64_t
cpfl_rx_offload_convert(uint64_t offload)
@@ -739,22 +740,106 @@ void
cpfl_set_rx_function(struct rte_eth_dev *dev)
{
struct idpf_vport *vport = dev->data->dev_private;
+#ifdef RTE_ARCH_X86
+ struct idpf_rx_queue *rxq;
+ int i;
+
+ if (cpfl_rx_vec_dev_check_default(dev) == CPFL_VECTOR_PATH &&
+ rte_vect_get_max_simd_bitwidth() >= RTE_VECT_SIMD_128) {
+ vport->rx_vec_allowed = true;
+
+ if (rte_vect_get_max_simd_bitwidth() >= RTE_VECT_SIMD_512)
+#ifdef CC_AVX512_SUPPORT
+ if (rte_cpu_get_flag_enabled(RTE_CPUFLAG_AVX512F) == 1 &&
+ rte_cpu_get_flag_enabled(RTE_CPUFLAG_AVX512BW) == 1 &&
+ rte_cpu_get_flag_enabled(RTE_CPUFLAG_AVX512DQ))
+ vport->rx_use_avx512 = true;
+#else
+ PMD_DRV_LOG(NOTICE,
+ "AVX512 is not supported in build env");
+#endif /* CC_AVX512_SUPPORT */
+ } else {
+ vport->rx_vec_allowed = false;
+ }
+#endif /* RTE_ARCH_X86 */
+
+#ifdef RTE_ARCH_X86
+ if (vport->rxq_model == VIRTCHNL2_QUEUE_MODEL_SPLIT) {
+ dev->rx_pkt_burst = idpf_splitq_recv_pkts;
+ } else {
+ if (vport->rx_vec_allowed) {
+ for (i = 0; i < dev->data->nb_tx_queues; i++) {
+ rxq = dev->data->rx_queues[i];
+ (void)idpf_singleq_rx_vec_setup(rxq);
+ }
+#ifdef CC_AVX512_SUPPORT
+ if (vport->rx_use_avx512) {
+ dev->rx_pkt_burst = idpf_singleq_recv_pkts_avx512;
+ return;
+ }
+#endif /* CC_AVX512_SUPPORT */
+ }
+ dev->rx_pkt_burst = idpf_singleq_recv_pkts;
+ }
+#else
if (vport->rxq_model == VIRTCHNL2_QUEUE_MODEL_SPLIT)
dev->rx_pkt_burst = idpf_splitq_recv_pkts;
else
dev->rx_pkt_burst = idpf_singleq_recv_pkts;
+#endif /* RTE_ARCH_X86 */
}
void
cpfl_set_tx_function(struct rte_eth_dev *dev)
{
struct idpf_vport *vport = dev->data->dev_private;
+#ifdef RTE_ARCH_X86
+#ifdef CC_AVX512_SUPPORT
+ struct idpf_tx_queue *txq;
+ int i;
+#endif /* CC_AVX512_SUPPORT */
+
+ if (cpfl_tx_vec_dev_check_default(dev) == CPFL_VECTOR_PATH &&
+ rte_vect_get_max_simd_bitwidth() >= RTE_VECT_SIMD_128) {
+ vport->tx_vec_allowed = true;
+ if (rte_vect_get_max_simd_bitwidth() >= RTE_VECT_SIMD_512)
+#ifdef CC_AVX512_SUPPORT
+ {
+ if (rte_cpu_get_flag_enabled(RTE_CPUFLAG_AVX512F) == 1 &&
+ rte_cpu_get_flag_enabled(RTE_CPUFLAG_AVX512BW) == 1)
+ vport->tx_use_avx512 = true;
+ if (vport->tx_use_avx512) {
+ for (i = 0; i < dev->data->nb_tx_queues; i++) {
+ txq = dev->data->tx_queues[i];
+ idpf_tx_vec_setup_avx512(txq);
+ }
+ }
+ }
+#else
+ PMD_DRV_LOG(NOTICE,
+ "AVX512 is not supported in build env");
+#endif /* CC_AVX512_SUPPORT */
+ } else {
+ vport->tx_vec_allowed = false;
+ }
+#endif /* RTE_ARCH_X86 */
if (vport->txq_model == VIRTCHNL2_QUEUE_MODEL_SPLIT) {
dev->tx_pkt_burst = idpf_splitq_xmit_pkts;
dev->tx_pkt_prepare = idpf_prep_pkts;
} else {
+#ifdef RTE_ARCH_X86
+ if (vport->tx_vec_allowed) {
+#ifdef CC_AVX512_SUPPORT
+ if (vport->tx_use_avx512) {
+ dev->tx_pkt_burst = idpf_singleq_xmit_pkts_avx512;
+ dev->tx_pkt_prepare = idpf_prep_pkts;
+ return;
+ }
+#endif /* CC_AVX512_SUPPORT */
+ }
+#endif /* RTE_ARCH_X86 */
dev->tx_pkt_burst = idpf_singleq_xmit_pkts;
dev->tx_pkt_prepare = idpf_prep_pkts;
}
diff --git a/drivers/net/cpfl/cpfl_rxtx_vec_common.h b/drivers/net/cpfl/cpfl_rxtx_vec_common.h
new file mode 100644
index 0000000000..a411cf6a32
--- /dev/null
+++ b/drivers/net/cpfl/cpfl_rxtx_vec_common.h
@@ -0,0 +1,99 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(c) 2022 Intel Corporation
+ */
+
+#ifndef _CPFL_RXTX_VEC_COMMON_H_
+#define _CPFL_RXTX_VEC_COMMON_H_
+#include <stdint.h>
+#include <ethdev_driver.h>
+#include <rte_malloc.h>
+
+#include "cpfl_ethdev.h"
+#include "cpfl_rxtx.h"
+
+#ifndef __INTEL_COMPILER
+#pragma GCC diagnostic ignored "-Wcast-qual"
+#endif
+
+#define CPFL_VECTOR_PATH 0
+#define ICE_RX_NO_VECTOR_FLAGS ( \
+ RTE_ETH_RX_OFFLOAD_IPV4_CKSUM | \
+ RTE_ETH_RX_OFFLOAD_UDP_CKSUM | \
+ RTE_ETH_RX_OFFLOAD_TCP_CKSUM | \
+ RTE_ETH_RX_OFFLOAD_OUTER_IPV4_CKSUM | \
+ RTE_ETH_RX_OFFLOAD_TIMESTAMP)
+#define ICE_TX_NO_VECTOR_FLAGS ( \
+ RTE_ETH_TX_OFFLOAD_TCP_TSO | \
+ RTE_ETH_TX_OFFLOAD_MULTI_SEGS)
+
+static inline int
+cpfl_rx_vec_queue_default(struct idpf_rx_queue *rxq)
+{
+ if (rxq == NULL)
+ return -1;
+
+ if (rte_is_power_of_2(rxq->nb_rx_desc) == 0)
+ return -1;
+
+ if (rxq->rx_free_thresh < IDPF_VPMD_RX_MAX_BURST)
+ return -1;
+
+ if ((rxq->nb_rx_desc % rxq->rx_free_thresh) != 0)
+ return -1;
+
+ if ((rxq->offloads & ICE_RX_NO_VECTOR_FLAGS) != 0)
+ return -1;
+
+ return CPFL_VECTOR_PATH;
+}
+
+static inline int
+cpfl_tx_vec_queue_default(struct idpf_tx_queue *txq)
+{
+ if (txq == NULL)
+ return -1;
+
+ if (txq->rs_thresh < IDPF_VPMD_TX_MAX_BURST ||
+ (txq->rs_thresh & 3) != 0)
+ return -1;
+
+ if ((txq->offloads & ICE_TX_NO_VECTOR_FLAGS) != 0)
+ return -1;
+
+ return CPFL_VECTOR_PATH;
+}
+
+static inline int
+cpfl_rx_vec_dev_check_default(struct rte_eth_dev *dev)
+{
+ struct idpf_rx_queue *rxq;
+ int i, ret = 0;
+
+ for (i = 0; i < dev->data->nb_rx_queues; i++) {
+ rxq = dev->data->rx_queues[i];
+ ret = (cpfl_rx_vec_queue_default(rxq));
+ if (ret < 0)
+ return -1;
+ }
+
+ return CPFL_VECTOR_PATH;
+}
+
+static inline int
+cpfl_tx_vec_dev_check_default(struct rte_eth_dev *dev)
+{
+ int i;
+ struct idpf_tx_queue *txq;
+ int ret = 0;
+
+ for (i = 0; i < dev->data->nb_tx_queues; i++) {
+ txq = dev->data->tx_queues[i];
+ ret = cpfl_tx_vec_queue_default(txq);
+ if (ret < 0)
+ return -1;
+ }
+
+ return CPFL_VECTOR_PATH;
+}
+
+#endif /*_CPFL_RXTX_VEC_COMMON_H_*/
diff --git a/drivers/net/cpfl/meson.build b/drivers/net/cpfl/meson.build
index 3ccee15703..40ed8dbb7b 100644
--- a/drivers/net/cpfl/meson.build
+++ b/drivers/net/cpfl/meson.build
@@ -7,9 +7,32 @@ if is_windows
subdir_done()
endif
+if dpdk_conf.get('RTE_IOVA_AS_PA') == 0
+ build = false
+ reason = 'driver does not support disabling IOVA as PA mode'
+ subdir_done()
+endif
+
deps += ['common_idpf']
sources = files(
'cpfl_ethdev.c',
'cpfl_rxtx.c',
-)
\ No newline at end of file
+)
+
+if arch_subdir == 'x86'
+ cpfl_avx512_cpu_support = (
+ cc.get_define('__AVX512F__', args: machine_args) != '' and
+ cc.get_define('__AVX512BW__', args: machine_args) != ''
+ )
+
+ cpfl_avx512_cc_support = (
+ not machine_args.contains('-mno-avx512f') and
+ cc.has_argument('-mavx512f') and
+ cc.has_argument('-mavx512bw')
+ )
+
+ if cpfl_avx512_cpu_support == true or cpfl_avx512_cc_support == true
+ cflags += ['-DCC_AVX512_SUPPORT']
+ endif
+endif
--
2.25.1
next prev parent reply other threads:[~2022-12-23 2:53 UTC|newest]
Thread overview: 263+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-12-23 1:55 [PATCH 00/21] add support for cpfl PMD in DPDK Mingxia Liu
2022-12-23 1:55 ` [PATCH 01/21] net/cpfl: support device initialization Mingxia Liu
2022-12-23 1:55 ` [PATCH 02/21] net/cpfl: add Tx queue setup Mingxia Liu
2022-12-23 1:55 ` [PATCH 03/21] net/cpfl: add Rx " Mingxia Liu
2022-12-23 1:55 ` [PATCH 04/21] net/cpfl: support device start and stop Mingxia Liu
2022-12-23 1:55 ` [PATCH 05/21] net/cpfl: support queue start Mingxia Liu
2022-12-23 1:55 ` [PATCH 06/21] net/cpfl: support queue stop Mingxia Liu
2022-12-23 1:55 ` [PATCH 07/21] net/cpfl: support queue release Mingxia Liu
2022-12-23 1:55 ` [PATCH 08/21] net/cpfl: support MTU configuration Mingxia Liu
2022-12-23 1:55 ` [PATCH 09/21] net/cpfl: support basic Rx data path Mingxia Liu
2022-12-23 1:55 ` [PATCH 10/21] net/cpfl: support basic Tx " Mingxia Liu
2022-12-23 1:55 ` [PATCH 11/21] net/cpfl: support write back based on ITR expire Mingxia Liu
2022-12-23 1:55 ` [PATCH 12/21] net/cpfl: support RSS Mingxia Liu
2022-12-23 1:55 ` [PATCH 13/21] net/cpfl: support Rx offloading Mingxia Liu
2022-12-23 1:55 ` [PATCH 14/21] net/cpfl: support Tx offloading Mingxia Liu
2022-12-23 1:55 ` Mingxia Liu [this message]
2022-12-23 1:55 ` [PATCH 16/21] net/cpfl: support timestamp offload Mingxia Liu
2022-12-23 1:55 ` [PATCH 17/21] net/cpfl: add AVX512 data path for split queue model Mingxia Liu
2022-12-23 1:55 ` [PATCH 18/21] net/cpfl: add hw statistics Mingxia Liu
2022-12-23 1:55 ` [PATCH 19/21] net/cpfl: add RSS set/get ops Mingxia Liu
2022-12-23 1:55 ` [PATCH 20/21] net/cpfl: support single q scatter RX datapath Mingxia Liu
2022-12-23 1:55 ` [PATCH 21/21] net/cpfl: add xstats ops Mingxia Liu
2023-01-13 8:19 ` [PATCH v2 00/21] add support for cpfl PMD in DPDK Mingxia Liu
2023-01-13 8:19 ` [PATCH v2 01/21] net/cpfl: support device initialization Mingxia Liu
2023-01-13 13:32 ` Zhang, Helin
2023-01-13 8:19 ` [PATCH v2 02/21] net/cpfl: add Tx queue setup Mingxia Liu
2023-01-13 8:19 ` [PATCH v2 03/21] net/cpfl: add Rx " Mingxia Liu
2023-01-13 8:19 ` [PATCH v2 04/21] net/cpfl: support device start and stop Mingxia Liu
2023-01-13 8:19 ` [PATCH v2 05/21] net/cpfl: support queue start Mingxia Liu
2023-01-13 8:19 ` [PATCH v2 06/21] net/cpfl: support queue stop Mingxia Liu
2023-01-13 8:19 ` [PATCH v2 07/21] net/cpfl: support queue release Mingxia Liu
2023-01-13 8:19 ` [PATCH v2 08/21] net/cpfl: support MTU configuration Mingxia Liu
2023-01-13 8:19 ` [PATCH v2 09/21] net/cpfl: support basic Rx data path Mingxia Liu
2023-01-13 8:19 ` [PATCH v2 10/21] net/cpfl: support basic Tx " Mingxia Liu
2023-01-13 8:19 ` [PATCH v2 11/21] net/cpfl: support write back based on ITR expire Mingxia Liu
2023-01-13 8:19 ` [PATCH v2 12/21] net/cpfl: support RSS Mingxia Liu
2023-01-13 8:19 ` [PATCH v2 13/21] net/cpfl: support Rx offloading Mingxia Liu
2023-01-13 8:19 ` [PATCH v2 14/21] net/cpfl: support Tx offloading Mingxia Liu
2023-01-13 8:19 ` [PATCH v2 15/21] net/cpfl: add AVX512 data path for single queue model Mingxia Liu
2023-01-13 8:19 ` [PATCH v2 16/21] net/cpfl: support timestamp offload Mingxia Liu
2023-01-13 8:19 ` [PATCH v2 17/21] net/cpfl: add AVX512 data path for split queue model Mingxia Liu
2023-01-13 8:19 ` [PATCH v2 18/21] net/cpfl: add hw statistics Mingxia Liu
2023-01-13 8:19 ` [PATCH v2 19/21] net/cpfl: add RSS set/get ops Mingxia Liu
2023-01-13 8:19 ` [PATCH v2 20/21] net/cpfl: support single q scatter RX datapath Mingxia Liu
2023-01-13 8:19 ` [PATCH v2 21/21] net/cpfl: add xstats ops Mingxia Liu
2023-01-13 12:49 ` [PATCH v2 00/21] add support for cpfl PMD in DPDK Zhang, Helin
2023-01-18 7:31 ` [PATCH v3 " Mingxia Liu
2023-01-18 7:31 ` [PATCH v3 01/21] net/cpfl: support device initialization Mingxia Liu
2023-01-18 7:31 ` [PATCH v3 02/21] net/cpfl: add Tx queue setup Mingxia Liu
2023-01-18 7:31 ` [PATCH v3 03/21] net/cpfl: add Rx " Mingxia Liu
2023-01-18 7:31 ` [PATCH v3 04/21] net/cpfl: support device start and stop Mingxia Liu
2023-01-18 7:31 ` [PATCH v3 05/21] net/cpfl: support queue start Mingxia Liu
2023-01-18 7:31 ` [PATCH v3 06/21] net/cpfl: support queue stop Mingxia Liu
2023-01-18 7:31 ` [PATCH v3 07/21] net/cpfl: support queue release Mingxia Liu
2023-01-18 7:31 ` [PATCH v3 08/21] net/cpfl: support MTU configuration Mingxia Liu
2023-01-18 7:31 ` [PATCH v3 09/21] net/cpfl: support basic Rx data path Mingxia Liu
2023-01-18 7:31 ` [PATCH v3 10/21] net/cpfl: support basic Tx " Mingxia Liu
2023-01-18 7:31 ` [PATCH v3 11/21] net/cpfl: support write back based on ITR expire Mingxia Liu
2023-01-18 7:31 ` [PATCH v3 12/21] net/cpfl: support RSS Mingxia Liu
2023-01-18 7:31 ` [PATCH v3 13/21] net/cpfl: support Rx offloading Mingxia Liu
2023-01-18 7:31 ` [PATCH v3 14/21] net/cpfl: support Tx offloading Mingxia Liu
2023-01-18 7:31 ` [PATCH v3 16/21] net/cpfl: support timestamp offload Mingxia Liu
2023-01-18 7:31 ` [PATCH v3 18/21] net/cpfl: add hw statistics Mingxia Liu
2023-01-18 7:31 ` [PATCH v3 19/21] net/cpfl: add RSS set/get ops Mingxia Liu
2023-01-18 7:31 ` [PATCH v3 21/21] net/cpfl: add xstats ops Mingxia Liu
2023-01-18 7:33 ` [PATCH v3 15/21] net/cpfl: add AVX512 data path for single queue model Mingxia Liu
2023-01-18 7:33 ` [PATCH v3 17/21] net/cpfl: add AVX512 data path for split " Mingxia Liu
2023-01-18 7:33 ` [PATCH v3 20/21] net/cpfl: support single q scatter RX datapath Mingxia Liu
2023-01-18 7:57 ` [PATCH v4 00/21] add support for cpfl PMD in DPDK Mingxia Liu
2023-01-18 7:57 ` [PATCH v4 01/21] net/cpfl: support device initialization Mingxia Liu
2023-01-18 7:57 ` [PATCH v4 02/21] net/cpfl: add Tx queue setup Mingxia Liu
2023-01-18 7:57 ` [PATCH v4 03/21] net/cpfl: add Rx " Mingxia Liu
2023-01-18 7:57 ` [PATCH v4 04/21] net/cpfl: support device start and stop Mingxia Liu
2023-01-18 7:57 ` [PATCH v4 05/21] net/cpfl: support queue start Mingxia Liu
2023-01-18 7:57 ` [PATCH v4 06/21] net/cpfl: support queue stop Mingxia Liu
2023-01-18 7:57 ` [PATCH v4 07/21] net/cpfl: support queue release Mingxia Liu
2023-01-18 7:57 ` [PATCH v4 08/21] net/cpfl: support MTU configuration Mingxia Liu
2023-01-18 7:57 ` [PATCH v4 09/21] net/cpfl: support basic Rx data path Mingxia Liu
2023-01-18 7:57 ` [PATCH v4 10/21] net/cpfl: support basic Tx " Mingxia Liu
2023-01-18 7:57 ` [PATCH v4 11/21] net/cpfl: support write back based on ITR expire Mingxia Liu
2023-01-18 7:57 ` [PATCH v4 12/21] net/cpfl: support RSS Mingxia Liu
2023-01-18 7:57 ` [PATCH v4 13/21] net/cpfl: support Rx offloading Mingxia Liu
2023-01-18 7:57 ` [PATCH v4 14/21] net/cpfl: support Tx offloading Mingxia Liu
2023-01-18 7:57 ` [PATCH v4 15/21] net/cpfl: add AVX512 data path for single queue model Mingxia Liu
2023-01-18 7:57 ` [PATCH v4 16/21] net/cpfl: support timestamp offload Mingxia Liu
2023-01-18 7:57 ` [PATCH v4 17/21] net/cpfl: add AVX512 data path for split queue model Mingxia Liu
2023-01-18 7:57 ` [PATCH v4 18/21] net/cpfl: add hw statistics Mingxia Liu
2023-01-18 7:57 ` [PATCH v4 19/21] net/cpfl: add RSS set/get ops Mingxia Liu
2023-01-18 7:57 ` [PATCH v4 20/21] net/cpfl: support single q scatter RX datapath Mingxia Liu
2023-01-18 7:57 ` [PATCH v4 21/21] net/cpfl: add xstats ops Mingxia Liu
2023-02-09 8:45 ` [PATCH v5 00/21] add support for cpfl PMD in DPDK Mingxia Liu
2023-02-09 8:45 ` [PATCH v5 01/21] net/cpfl: support device initialization Mingxia Liu
2023-02-09 8:45 ` [PATCH v5 02/21] net/cpfl: add Tx queue setup Mingxia Liu
2023-02-09 8:45 ` [PATCH v5 03/21] net/cpfl: add Rx " Mingxia Liu
2023-02-09 8:45 ` [PATCH v5 04/21] net/cpfl: support device start and stop Mingxia Liu
2023-02-09 8:45 ` [PATCH v5 05/21] net/cpfl: support queue start Mingxia Liu
2023-02-09 8:45 ` [PATCH v5 06/21] net/cpfl: support queue stop Mingxia Liu
2023-02-09 8:45 ` [PATCH v5 07/21] net/cpfl: support queue release Mingxia Liu
2023-02-09 8:45 ` [PATCH v5 08/21] net/cpfl: support MTU configuration Mingxia Liu
2023-02-09 8:45 ` [PATCH v5 09/21] net/cpfl: support basic Rx data path Mingxia Liu
2023-02-09 8:45 ` [PATCH v5 10/21] net/cpfl: support basic Tx " Mingxia Liu
2023-02-09 8:45 ` [PATCH v5 11/21] net/cpfl: support write back based on ITR expire Mingxia Liu
2023-02-09 8:45 ` [PATCH v5 12/21] net/cpfl: support RSS Mingxia Liu
2023-02-09 8:45 ` [PATCH v5 13/21] net/cpfl: support Rx offloading Mingxia Liu
2023-02-09 8:45 ` [PATCH v5 14/21] net/cpfl: support Tx offloading Mingxia Liu
2023-02-09 8:45 ` [PATCH v5 15/21] net/cpfl: add AVX512 data path for single queue model Mingxia Liu
2023-02-09 8:45 ` [PATCH v5 16/21] net/cpfl: support timestamp offload Mingxia Liu
2023-02-09 8:45 ` [PATCH v5 17/21] net/cpfl: add AVX512 data path for split queue model Mingxia Liu
2023-02-09 8:45 ` [PATCH v5 18/21] net/cpfl: add HW statistics Mingxia Liu
2023-02-09 8:45 ` [PATCH v5 19/21] net/cpfl: add RSS set/get ops Mingxia Liu
2023-02-09 8:45 ` [PATCH v5 20/21] net/cpfl: support scalar scatter Rx datapath for single queue model Mingxia Liu
2023-02-09 8:45 ` [PATCH v5 21/21] net/cpfl: add xstats ops Mingxia Liu
2023-02-09 16:47 ` [PATCH v5 00/21] add support for cpfl PMD in DPDK Stephen Hemminger
2023-02-13 1:37 ` Liu, Mingxia
2023-02-13 2:19 ` [PATCH v6 " Mingxia Liu
2023-02-13 2:19 ` [PATCH v6 01/21] net/cpfl: support device initialization Mingxia Liu
2023-02-13 2:19 ` [PATCH v6 02/21] net/cpfl: add Tx queue setup Mingxia Liu
2023-02-13 2:19 ` [PATCH v6 03/21] net/cpfl: add Rx " Mingxia Liu
2023-02-13 2:19 ` [PATCH v6 04/21] net/cpfl: support device start and stop Mingxia Liu
2023-02-13 2:19 ` [PATCH v6 05/21] net/cpfl: support queue start Mingxia Liu
2023-02-13 2:19 ` [PATCH v6 06/21] net/cpfl: support queue stop Mingxia Liu
2023-02-13 2:19 ` [PATCH v6 07/21] net/cpfl: support queue release Mingxia Liu
2023-02-13 2:19 ` [PATCH v6 08/21] net/cpfl: support MTU configuration Mingxia Liu
2023-02-13 2:19 ` [PATCH v6 09/21] net/cpfl: support basic Rx data path Mingxia Liu
2023-02-13 2:19 ` [PATCH v6 10/21] net/cpfl: support basic Tx " Mingxia Liu
2023-02-13 2:19 ` [PATCH v6 11/21] net/cpfl: support write back based on ITR expire Mingxia Liu
2023-02-13 2:19 ` [PATCH v6 12/21] net/cpfl: support RSS Mingxia Liu
2023-02-13 2:19 ` [PATCH v6 13/21] net/cpfl: support Rx offloading Mingxia Liu
2023-02-13 2:19 ` [PATCH v6 14/21] net/cpfl: support Tx offloading Mingxia Liu
2023-02-13 2:19 ` [PATCH v6 15/21] net/cpfl: add AVX512 data path for single queue model Mingxia Liu
2023-02-13 2:19 ` [PATCH v6 16/21] net/cpfl: support timestamp offload Mingxia Liu
2023-02-13 2:19 ` [PATCH v6 17/21] net/cpfl: add AVX512 data path for split queue model Mingxia Liu
2023-02-13 2:19 ` [PATCH v6 18/21] net/cpfl: add HW statistics Mingxia Liu
2023-02-13 2:19 ` [PATCH v6 19/21] net/cpfl: add RSS set/get ops Mingxia Liu
2023-02-13 2:19 ` [PATCH v6 20/21] net/cpfl: support scalar scatter Rx datapath for single queue model Mingxia Liu
2023-02-13 2:19 ` [PATCH v6 21/21] net/cpfl: add xstats ops Mingxia Liu
2023-02-15 14:04 ` [PATCH v6 00/21] add support for cpfl PMD in DPDK Ferruh Yigit
2023-02-16 1:16 ` Liu, Mingxia
2023-02-16 0:29 ` [PATCH v7 " Mingxia Liu
2023-02-16 0:29 ` [PATCH v7 01/21] net/cpfl: support device initialization Mingxia Liu
2023-02-27 13:46 ` Ferruh Yigit
2023-02-27 15:45 ` Thomas Monjalon
2023-02-27 23:38 ` Ferruh Yigit
2023-02-28 2:06 ` Liu, Mingxia
2023-02-28 9:53 ` Ferruh Yigit
2023-02-27 21:43 ` Ferruh Yigit
2023-02-28 11:12 ` Liu, Mingxia
2023-02-28 11:34 ` Ferruh Yigit
2023-02-16 0:29 ` [PATCH v7 02/21] net/cpfl: add Tx queue setup Mingxia Liu
2023-02-27 21:44 ` Ferruh Yigit
2023-02-28 2:40 ` Liu, Mingxia
2023-02-16 0:29 ` [PATCH v7 03/21] net/cpfl: add Rx " Mingxia Liu
2023-02-27 21:46 ` Ferruh Yigit
2023-02-28 3:03 ` Liu, Mingxia
2023-02-28 10:02 ` Ferruh Yigit
2023-02-16 0:29 ` [PATCH v7 04/21] net/cpfl: support device start and stop Mingxia Liu
2023-02-16 0:29 ` [PATCH v7 05/21] net/cpfl: support queue start Mingxia Liu
2023-02-27 21:47 ` Ferruh Yigit
2023-02-28 3:14 ` Liu, Mingxia
2023-02-28 3:28 ` Liu, Mingxia
2023-02-16 0:29 ` [PATCH v7 06/21] net/cpfl: support queue stop Mingxia Liu
2023-02-27 21:48 ` Ferruh Yigit
2023-02-16 0:29 ` [PATCH v7 07/21] net/cpfl: support queue release Mingxia Liu
2023-02-16 0:29 ` [PATCH v7 08/21] net/cpfl: support MTU configuration Mingxia Liu
2023-02-16 0:29 ` [PATCH v7 09/21] net/cpfl: support basic Rx data path Mingxia Liu
2023-02-16 0:29 ` [PATCH v7 10/21] net/cpfl: support basic Tx " Mingxia Liu
2023-02-16 0:30 ` [PATCH v7 11/21] net/cpfl: support write back based on ITR expire Mingxia Liu
2023-02-27 21:49 ` Ferruh Yigit
2023-02-28 11:31 ` Liu, Mingxia
2023-02-16 0:30 ` [PATCH v7 12/21] net/cpfl: support RSS Mingxia Liu
2023-02-27 21:50 ` Ferruh Yigit
2023-02-28 11:28 ` Liu, Mingxia
2023-02-28 11:34 ` Ferruh Yigit
2023-02-16 0:30 ` [PATCH v7 13/21] net/cpfl: support Rx offloading Mingxia Liu
2023-02-27 21:50 ` Ferruh Yigit
2023-02-28 5:48 ` Liu, Mingxia
2023-02-16 0:30 ` [PATCH v7 14/21] net/cpfl: support Tx offloading Mingxia Liu
2023-02-16 0:30 ` [PATCH v7 15/21] net/cpfl: add AVX512 data path for single queue model Mingxia Liu
2023-02-27 21:51 ` Ferruh Yigit
2023-02-28 3:19 ` Liu, Mingxia
2023-02-16 0:30 ` [PATCH v7 16/21] net/cpfl: support timestamp offload Mingxia Liu
2023-02-16 0:30 ` [PATCH v7 17/21] net/cpfl: add AVX512 data path for split queue model Mingxia Liu
2023-02-27 21:52 ` Ferruh Yigit
2023-02-16 0:30 ` [PATCH v7 18/21] net/cpfl: add HW statistics Mingxia Liu
2023-02-27 21:52 ` Ferruh Yigit
2023-02-28 6:46 ` Liu, Mingxia
2023-02-28 10:01 ` Ferruh Yigit
2023-02-28 11:47 ` Liu, Mingxia
2023-02-28 12:04 ` Ferruh Yigit
2023-02-28 12:12 ` Bruce Richardson
2023-02-28 12:24 ` Ferruh Yigit
2023-02-28 12:33 ` Ferruh Yigit
2023-02-28 13:29 ` Zhang, Qi Z
2023-02-28 13:34 ` Ferruh Yigit
2023-02-28 14:04 ` Zhang, Qi Z
2023-02-28 14:24 ` Bruce Richardson
2023-02-28 16:14 ` Ferruh Yigit
2023-02-16 0:30 ` [PATCH v7 19/21] net/cpfl: add RSS set/get ops Mingxia Liu
2023-02-16 0:30 ` [PATCH v7 20/21] net/cpfl: support scalar scatter Rx datapath for single queue model Mingxia Liu
2023-02-16 0:30 ` [PATCH v7 21/21] net/cpfl: add xstats ops Mingxia Liu
2023-02-27 21:52 ` Ferruh Yigit
2023-02-28 5:28 ` Liu, Mingxia
2023-02-28 5:54 ` Liu, Mingxia
2023-02-27 21:43 ` [PATCH v7 00/21] add support for cpfl PMD in DPDK Ferruh Yigit
2023-02-28 1:44 ` Zhang, Qi Z
2023-03-02 10:35 ` [PATCH v8 " Mingxia Liu
2023-03-02 10:35 ` [PATCH v8 01/21] net/cpfl: support device initialization Mingxia Liu
2023-03-02 9:31 ` Ferruh Yigit
2023-03-02 11:24 ` Liu, Mingxia
2023-03-02 11:51 ` Ferruh Yigit
2023-03-02 12:08 ` Xing, Beilei
2023-03-02 13:11 ` Liu, Mingxia
2023-03-02 12:08 ` Xing, Beilei
2023-03-02 10:35 ` [PATCH v8 02/21] net/cpfl: add Tx queue setup Mingxia Liu
2023-03-02 10:35 ` [PATCH v8 03/21] net/cpfl: add Rx " Mingxia Liu
2023-03-02 10:35 ` [PATCH v8 04/21] net/cpfl: support device start and stop Mingxia Liu
2023-03-02 10:35 ` [PATCH v8 05/21] net/cpfl: support queue start Mingxia Liu
2023-03-02 10:35 ` [PATCH v8 06/21] net/cpfl: support queue stop Mingxia Liu
2023-03-02 10:35 ` [PATCH v8 07/21] net/cpfl: support queue release Mingxia Liu
2023-03-02 10:35 ` [PATCH v8 08/21] net/cpfl: support MTU configuration Mingxia Liu
2023-03-02 10:35 ` [PATCH v8 09/21] net/cpfl: support basic Rx data path Mingxia Liu
2023-03-02 10:35 ` [PATCH v8 10/21] net/cpfl: support basic Tx " Mingxia Liu
2023-03-02 10:35 ` [PATCH v8 11/21] net/cpfl: support write back based on ITR expire Mingxia Liu
2023-03-02 10:35 ` [PATCH v8 12/21] net/cpfl: support RSS Mingxia Liu
2023-03-02 10:35 ` [PATCH v8 13/21] net/cpfl: support Rx offloading Mingxia Liu
2023-03-02 10:35 ` [PATCH v8 14/21] net/cpfl: support Tx offloading Mingxia Liu
2023-03-02 10:35 ` [PATCH v8 15/21] net/cpfl: add AVX512 data path for single queue model Mingxia Liu
2023-03-02 10:35 ` [PATCH v8 16/21] net/cpfl: support timestamp offload Mingxia Liu
2023-03-02 10:35 ` [PATCH v8 17/21] net/cpfl: add AVX512 data path for split queue model Mingxia Liu
2023-03-02 10:35 ` [PATCH v8 18/21] net/cpfl: add HW statistics Mingxia Liu
2023-03-02 10:35 ` [PATCH v8 19/21] net/cpfl: add RSS set/get ops Mingxia Liu
2023-03-02 10:35 ` [PATCH v8 20/21] net/cpfl: support scalar scatter Rx datapath for single queue model Mingxia Liu
2023-03-02 10:35 ` [PATCH v8 21/21] net/cpfl: add xstats ops Mingxia Liu
2023-03-02 9:30 ` Ferruh Yigit
2023-03-02 11:19 ` Liu, Mingxia
2023-03-02 21:20 ` [PATCH v9 00/21] add support for cpfl PMD in DPDK Mingxia Liu
2023-03-02 15:06 ` Ferruh Yigit
2023-03-02 21:20 ` [PATCH v9 01/21] net/cpfl: support device initialization Mingxia Liu
2023-03-07 14:11 ` Ferruh Yigit
2023-03-07 15:03 ` Ferruh Yigit
2023-03-08 17:03 ` Ferruh Yigit
2023-03-09 0:59 ` Liu, Mingxia
2023-03-09 1:42 ` Liu, Mingxia
2023-03-02 21:20 ` [PATCH v9 02/21] net/cpfl: add Tx queue setup Mingxia Liu
2023-03-02 21:20 ` [PATCH v9 03/21] net/cpfl: add Rx " Mingxia Liu
2023-03-02 21:20 ` [PATCH v9 04/21] net/cpfl: support device start and stop Mingxia Liu
2023-03-02 21:20 ` [PATCH v9 05/21] net/cpfl: support queue start Mingxia Liu
2023-03-02 21:20 ` [PATCH v9 06/21] net/cpfl: support queue stop Mingxia Liu
2023-03-02 21:20 ` [PATCH v9 07/21] net/cpfl: support queue release Mingxia Liu
2023-03-02 21:20 ` [PATCH v9 08/21] net/cpfl: support MTU configuration Mingxia Liu
2023-03-02 21:20 ` [PATCH v9 09/21] net/cpfl: support basic Rx data path Mingxia Liu
2023-03-02 21:20 ` [PATCH v9 10/21] net/cpfl: support basic Tx " Mingxia Liu
2023-03-02 21:20 ` [PATCH v9 11/21] net/cpfl: support write back based on ITR expire Mingxia Liu
2023-03-02 21:20 ` [PATCH v9 12/21] net/cpfl: support RSS Mingxia Liu
2023-03-02 21:20 ` [PATCH v9 13/21] net/cpfl: support Rx offloading Mingxia Liu
2023-03-02 21:20 ` [PATCH v9 14/21] net/cpfl: support Tx offloading Mingxia Liu
2023-03-02 21:20 ` [PATCH v9 15/21] net/cpfl: add AVX512 data path for single queue model Mingxia Liu
2023-03-02 21:20 ` [PATCH v9 16/21] net/cpfl: support timestamp offload Mingxia Liu
2023-03-02 21:20 ` [PATCH v9 17/21] net/cpfl: add AVX512 data path for split queue model Mingxia Liu
2023-03-02 21:20 ` [PATCH v9 18/21] net/cpfl: add HW statistics Mingxia Liu
2023-03-02 21:20 ` [PATCH v9 19/21] net/cpfl: add RSS set/get ops Mingxia Liu
2023-03-02 21:20 ` [PATCH v9 20/21] net/cpfl: support scalar scatter Rx datapath for single queue model Mingxia Liu
2023-03-02 21:20 ` [PATCH v9 21/21] net/cpfl: add xstats ops Mingxia Liu
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=20221223015558.3143279-16-mingxia.liu@intel.com \
--to=mingxia.liu@intel.com \
--cc=beilei.xing@intel.com \
--cc=dev@dpdk.org \
--cc=jingjing.wu@intel.com \
--cc=qi.z.zhang@intel.com \
--cc=wenjun1.wu@intel.com \
/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).