|SUCCESS|dpdk|14cbc58b6f| intel-Functional
sys_stv at intel.com
sys_stv at intel.com
Wed Sep 23 01:11:38 CEST 2026
Test-Label: intel-Functional
Test-Status: SUCCESS
_Functional PASS_
DPDK git repo: dpdk
commit 14cbc58b6fca8e725043910f6f9af3b748d3374d
Author: Junlong Wang <wang.junlong1 at zte.com.cn>
Date: Thu Sep 3 19:32:19 2026 +0800
net/zxdh: optimize Tx performance
1. Rework the Tx completion flush to walk descriptors one at a time and
free each completed segment with rte_pktmbuf_free_seg(), add prefetch
hints on the next descriptor cache line, switch the ring-held mbufs
in zxdh_dev_free_mbufs() to rte_pktmbuf_free_seg().
2. The flush drives the inner do/while off the device-returned
`desc[used_idx].id` (last segment's index for a chain): iterates
once on the push path, walks every segment of a chain on the
append path and frees each segment's cookie via
`vq->vq_descx[used_idx].cookie`. The flush also rewrites
`desc[used_idx].id = used_idx`; this is redundant given that the
enqueue paths already set the id, but is kept for commercial
alignment.
3. Guard the walk with a `budget` counter initialised to `vq_nentries`,
break on `id >= size`, and mask the prefetch index with `(size - 1)`
so the walk and `free_cnt` stay bounded even if the device writes
an out-of-range or stale id.
4. Document the Tx xmit changes in the 26.11 release notes.
Signed-off-by: Junlong Wang <wang.junlong1 at zte.com.cn>
Smoke-Testing Summary : 31 Case Done, 31 Successful, 0 Failures
OS : Ubuntu 24.04.4 LTS
Kernel : 6.8.0-71-generic
GCC : 13.3.0-6ubuntu2~24.04.1
NIC : Ethernet Controller XL710 for 40GbE QSFP+
Target : x86_64-native-linuxapp-gcc
Test result details:
+-----------------+---------------------------------------------------+-------+
| suite | case | status|
+-----------------+---------------------------------------------------+-------+
| checksum_offload| test_do_not_insert_checksum_on_the_transmit_packet| passed|
| checksum_offload| test_hardware_checksum_check_ip_rx | passed|
| checksum_offload| test_hardware_checksum_check_ip_tx | passed|
| checksum_offload| test_hardware_checksum_check_l4_rx | passed|
| checksum_offload| test_hardware_checksum_check_l4_tx | passed|
| checksum_offload| test_insert_checksum_on_the_transmit_packet | passed|
| checksum_offload| test_rx_checksum_valid_flags | passed|
| checksum_offload| test_checksum_offload_with_vlan | n/a |
| dual_vlan | test_dual_vlan_priority_rxtx | passed|
| dual_vlan | test_vlan_filter_config | passed|
| dual_vlan | test_vlan_filter_table | passed|
| dual_vlan | test_vlan_insert_config | passed|
| dual_vlan | test_vlan_random_test | passed|
| dual_vlan | test_vlan_strip_config | passed|
| dual_vlan | test_vlan_synthetic_test | passed|
| dual_vlan | test_vlan_tpid_config | passed|
| dual_vlan | test_vlan_stripq_config | n/a |
| jumboframes | test_jumboframes_bigger_jumbo | passed|
| jumboframes | test_jumboframes_jumbo_jumbo | passed|
| jumboframes | test_jumboframes_jumbo_nojumbo | passed|
| jumboframes | test_jumboframes_normal_jumbo | passed|
| jumboframes | test_jumboframes_normal_nojumbo | passed|
| rxtx_offload | test_rxoffload_port_all | passed|
| rxtx_offload | test_rxoffload_port_cmdline | passed|
| rxtx_offload | test_txoffload_port | passed|
| rxtx_offload | test_txoffload_port_all | passed|
| rxtx_offload | test_txoffload_port_checksum | passed|
| rxtx_offload | test_txoffload_port_cmdline | passed|
| rxtx_offload | test_txoffload_port_multi_segs | passed|
| rxtx_offload | test_txoffload_queue | passed|
| rxtx_offload | test_rxoffload_queue | n/a |
+-----------------+---------------------------------------------------+-------+
DPDK STV team
More information about the test-report
mailing list