|WARNING| pw120866 [PATCH] [v2, 1/1] common/idpf: add AVX512 data path for split queue model

dpdklab at iol.unh.edu dpdklab at iol.unh.edu
Wed Dec 14 08:28:23 CET 2022


Test-Label: iol-testing
Test-Status: WARNING
http://dpdk.org/patch/120866

_apply patch failure_

Submitter: Wenjun Wu <wenjun1.wu at intel.com>
Date: Wednesday, December 14 2022 07:04:25 
Applied on: CommitID:c581c49cd3fcaff596fbe566e270b442e6326c79
Apply patch set 120866 failed:

Checking patch drivers/common/idpf/idpf_common_rxtx.c...
error: drivers/common/idpf/idpf_common_rxtx.c: does not exist in index
Checking patch drivers/common/idpf/idpf_common_rxtx.h...
error: drivers/common/idpf/idpf_common_rxtx.h: does not exist in index
Checking patch drivers/common/idpf/idpf_common_rxtx_avx512.c...
error: drivers/common/idpf/idpf_common_rxtx_avx512.c: does not exist in index
Checking patch drivers/common/idpf/version.map...
error: while searching for:
	idpf_singleq_xmit_pkts;
	idpf_prep_pkts;
	idpf_singleq_rx_vec_setup;
	idpf_singleq_tx_vec_setup_avx512;
	idpf_singleq_recv_pkts_avx512;
	idpf_singleq_xmit_pkts_avx512;

	local: *;
};

error: patch failed: drivers/common/idpf/version.map:44
Checking patch drivers/net/idpf/idpf_rxtx.c...
error: while searching for:
		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->rx_use_avx512 = true;
#else
		PMD_DRV_LOG(NOTICE,

error: patch failed: drivers/net/idpf/idpf_rxtx.c:761
error: while searching for:

#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) {

error: patch failed: drivers/net/idpf/idpf_rxtx.c:774
error: while searching for:
	int i;
#endif /* CC_AVX512_SUPPORT */

	if (idpf_rx_vec_dev_check_default(dev) == IDPF_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;
#else
		PMD_DRV_LOG(NOTICE,
			    "AVX512 is not supported in build env");

error: patch failed: drivers/net/idpf/idpf_rxtx.c:809
Hunk #4 succeeded at 2290 (offset 1440 lines).
error: while searching for:
		if (vport->tx_vec_allowed) {
#ifdef CC_AVX512_SUPPORT
			if (vport->tx_use_avx512) {
				for (i = 0; i < dev->data->nb_tx_queues; i++) {
					txq = dev->data->tx_queues[i];
					if (txq == NULL)
						continue;
					idpf_singleq_tx_vec_setup_avx512(txq);
				}
				dev->tx_pkt_burst = idpf_singleq_xmit_pkts_avx512;
				dev->tx_pkt_prepare = idpf_prep_pkts;
				return;

error: patch failed: drivers/net/idpf/idpf_rxtx.c:834
Checking patch drivers/net/idpf/idpf_rxtx_vec_common.h...
Applying patch drivers/common/idpf/version.map with 1 reject...
Rejected hunk #1.
Applying patch drivers/net/idpf/idpf_rxtx.c with 4 rejects...
Rejected hunk #1.
Rejected hunk #2.
Rejected hunk #3.
Hunk #4 applied cleanly.
Rejected hunk #5.
Applied patch drivers/net/idpf/idpf_rxtx_vec_common.h cleanly.
diff a/drivers/common/idpf/version.map b/drivers/common/idpf/version.map	(rejected hunks)
@@ -44,9 +44,12 @@ INTERNAL {
 	idpf_singleq_xmit_pkts;
 	idpf_prep_pkts;
 	idpf_singleq_rx_vec_setup;
-	idpf_singleq_tx_vec_setup_avx512;
+	idpf_splitq_rx_vec_setup;
+	idpf_tx_vec_setup_avx512;
 	idpf_singleq_recv_pkts_avx512;
+	idpf_splitq_recv_pkts_avx512;
 	idpf_singleq_xmit_pkts_avx512;
+	idpf_splitq_xmit_pkts_avx512;
 
 	local: *;
 };
diff a/drivers/net/idpf/idpf_rxtx.c b/drivers/net/idpf/idpf_rxtx.c	(rejected hunks)
@@ -761,7 +761,8 @@ idpf_set_rx_function(struct rte_eth_dev *dev)
 		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_AVX512BW) == 1 &&
+			    rte_cpu_get_flag_enabled(RTE_CPUFLAG_AVX512DQ))
 				vport->rx_use_avx512 = true;
 #else
 		PMD_DRV_LOG(NOTICE,
@@ -774,6 +775,20 @@ idpf_set_rx_function(struct rte_eth_dev *dev)
 
 #ifdef RTE_ARCH_X86
 	if (vport->rxq_model == VIRTCHNL2_QUEUE_MODEL_SPLIT) {
+#ifdef RTE_ARCH_X86
+		if (vport->rx_vec_allowed) {
+			for (i = 0; i < dev->data->nb_tx_queues; i++) {
+				rxq = dev->data->rx_queues[i];
+				(void)idpf_splitq_rx_vec_setup(rxq);
+			}
+#ifdef CC_AVX512_SUPPORT
+			if (vport->rx_use_avx512) {
+				dev->rx_pkt_burst = idpf_splitq_recv_pkts_avx512;
+				return;
+			}
+#endif
+		}
+#endif
 		dev->rx_pkt_burst = idpf_splitq_recv_pkts;
 	} else {
 		if (vport->rx_vec_allowed) {
@@ -809,14 +824,22 @@ idpf_set_tx_function(struct rte_eth_dev *dev)
 	int i;
 #endif /* CC_AVX512_SUPPORT */
 
-	if (idpf_rx_vec_dev_check_default(dev) == IDPF_VECTOR_PATH &&
+	if (idpf_tx_vec_dev_check_default(dev) == IDPF_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");
@@ -834,12 +868,6 @@ idpf_set_tx_function(struct rte_eth_dev *dev)
 		if (vport->tx_vec_allowed) {
 #ifdef CC_AVX512_SUPPORT
 			if (vport->tx_use_avx512) {
-				for (i = 0; i < dev->data->nb_tx_queues; i++) {
-					txq = dev->data->tx_queues[i];
-					if (txq == NULL)
-						continue;
-					idpf_singleq_tx_vec_setup_avx512(txq);
-				}
 				dev->tx_pkt_burst = idpf_singleq_xmit_pkts_avx512;
 				dev->tx_pkt_prepare = idpf_prep_pkts;
 				return;

https://lab.dpdk.org/results/dashboard/patchsets/24726/

UNH-IOL DPDK Community Lab


More information about the test-report mailing list