Test-Label: intel-Functional Test-Status: SUCCESS _Functional PASS_ DPDK git repo: dpdk commit 9dc4f58524b2be74cac6a656d2c73141b48609c4 Author: Wathsala Vithanage Date: Tue Nov 11 18:37:19 2025 +0000 ring: establish safe partial ordering in RTS mode Enforce a safe partial order by making the CAS and the preceding head load use release and acquire semantics. This creates a pairwise happens-before relationship between threads of the same kind (i.e. between consumers or between producers). Combine the two load-acquire operations of ht->head.raw, which were previously split across the two paths of a conditional branch, into __rte_ring_rts_head_wait. This simplifies the branching logic and makes the synchronization behavior easier to understand. Add comments to explain synchronizes with edges in detail. Fixes: e6ba4731c0f3a ("ring: introduce RTS ring mode") Cc: stable@dpdk.org Signed-off-by: Wathsala Vithanage Signed-off-by: Ola Liljedahl Smoke-Testing Summary : 31 Case Done, 31 Successful, 0 Failures OS : Ubuntu 24.04.3 LTS Kernel : 6.8.0-71-generic GCC : 13.3.0-6ubuntu2~24.04 NIC : Ethernet Controller XL710 for 40GbE QSFP+ Target : x86_64-native-linuxapp-gcc Test result details: +-----------------+---------------------------------------------------+-------+ | suite | case | status| +-----------------+---------------------------------------------------+-------+ | checksum_offload| test_checksum_offload_with_vlan | passed| | 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_insert_checksum_on_the_transmit_packet | passed| | checksum_offload| test_rx_checksum_valid_flags | passed| | checksum_offload| test_hardware_checksum_check_l4_tx | 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