|WARNING| pw121988 [PATCH] [v5, 1/1] common/idpf: add AVX512 data path for split queue model
dpdklab at iol.unh.edu
dpdklab at iol.unh.edu
Fri Jan 13 02:57:56 CET 2023
Test-Label: iol-testing
Test-Status: WARNING
http://dpdk.org/patch/121988
_apply patch failure_
Submitter: Wenjun Wu <wenjun1.wu at intel.com>
Date: Friday, January 13 2023 01:51:19
Applied on: CommitID:83397b9f073904438965e1fda2efe76f7850fe01
Apply patch set 121988 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:758
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) {
for (i = 0; i < dev->data->nb_tx_queues; i++) {
rxq = dev->data->rx_queues[i];
(void)idpf_singleq_rx_vec_setup(rxq);
}
error: patch failed: drivers/net/idpf/idpf_rxtx.c:771
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:806
Hunk #4 succeeded at 2290 (offset 1443 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:831
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)
@@ -758,7 +758,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,
@@ -771,10 +772,24 @@ 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_rx_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) {
- for (i = 0; i < dev->data->nb_tx_queues; i++) {
+ for (i = 0; i < dev->data->nb_rx_queues; i++) {
rxq = dev->data->rx_queues[i];
(void)idpf_singleq_rx_vec_setup(rxq);
}
@@ -806,14 +821,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");
@@ -831,12 +865,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/24971/
UNH-IOL DPDK Community Lab
More information about the test-report
mailing list