|SUCCESS|dpdk|491d2986bf| Intel-Testing

sys_stv at intel.com sys_stv at intel.com
Wed Jan 21 15:19:48 CET 2026


Test-Label: intel-Testing
Test-Status: SUCCESS
_Testing PASS_

DPDK git repo: dpdk
commit e64982ab49e75ae247cadffeecffaf71fa8d9cd7
Author: Marat Khalili <marat.khalili at huawei.com>
Date:   Wed Jan 21 10:16:53 2026 +0000

    bpf: fix x86 call stack alignment for external calls
    
    Correctly align stack pointer on x86 JIT if external calls are present.
    
    According to x86-64 ABI (https://gitlab.com/x86-psABIs/x86-64-ABI,
    section 3.2.2 The Stack Frame) stack needs to be 16 (or more) bytes
    aligned immediately before the call instruction is executed. Once
    control has been transferred to the function entry point it is always
    off by 8 bytes. It means that JIT-compiled BPF function will always have
    its stack misaligned for any nested call unless it performs operations
    with the stack; even if it does use stack there is still 50% chance of
    stack being misaligned since it uses it in multiples of 8.
    
    To solve the issue mark RBP as used whenever we have external function
    calls, and align RSP using AND instruction at the end of the prolog.
    Marking RBP as used triggers stack pointer saving in prolog and
    restoration in epilog.
    
    Add tests for external calls from BPF program demonstrating the problem:
    * direct verification of a local variable alignment;
    * operations with 128-bit integers;
    * aligned and unaligned SSE2 instructions;
    * memcpy and rte_memcpy (may use vector instructions in their code).
    
    (Such variety is needed because not all of these tests are available or
    reproduce the problem on all targets even when the problem exists.)
    
    Fixes: cc752e43e079 ("bpf: add JIT compilation for x86_64 ISA")
    Cc: stable at dpdk.org
    
    Signed-off-by: Marat Khalili <marat.khalili at huawei.com>
    Acked-by: Konstantin Ananyev <konstantin.ananyev at huawei.com>
    Tested-by: Konstantin Ananyev <konstantin.ananyev at huawei.com>

Testing Summary : 18 Case Done, 18 Successful, 0 Failures      

TestPlan:
	pf_smoke: http://git.dpdk.org/tools/dts/tree/test_plans/pf_smoke_test_plan.rst
	vf_smoke: http://git.dpdk.org/tools/dts/tree/test_plans/vf_smoke_test_plan.rst
	virtio_smoke: http://git.dpdk.org/tools/dts/tree/test_plans/virtio_smoke_test_plan.rst

TestSuite:
	pf_smoke: http://git.dpdk.org/tools/dts/tree/tests/TestSuite_pf_smoke.py
	vf_smoke: http://git.dpdk.org/tools/dts/tree/tests/TestSuite_vf_smoke.py
	virtio_smoke: http://git.dpdk.org/tools/dts/tree/tests/TestSuite_virtio_smoke.py


OS : Ubuntu 24.04.3 LTS       
Kernel : 6.8.0-87-generic         
GCC : 13.3.0-6ubuntu2~24.04        
NIC : Ethernet Controller E810-C for SFP         
Target : x86_64-native-linuxapp-gcc      

	Test result details:
	+-------------+---------------------------+-------+
	| suite       | case                      | status|
	+-------------+---------------------------+-------+
	| asan_smoke  | test_rxtx_with_ASan_enable| passed|
	| pf_smoke    | test_pf_jumbo_frames      | passed|
	| pf_smoke    | test_pf_rss               | passed|
	| pf_smoke    | test_pf_tx_rx_queue       | passed|
	| vf_smoke    | test_vf_jumbo_frames      | passed|
	| vf_smoke    | test_vf_rss               | passed|
	| vf_smoke    | test_vf_tx_rx_queue       | passed|
	| virtio_smoke| test_virtio_loopback      | passed|
	| virtio_smoke| test_virtio_pvp           | passed|
	+-------------+---------------------------+-------+


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|
	+-------------+---------------------------+-------+
	| asan_smoke  | test_rxtx_with_ASan_enable| passed|
	| pf_smoke    | test_pf_jumbo_frames      | passed|
	| pf_smoke    | test_pf_rss               | passed|
	| pf_smoke    | test_pf_tx_rx_queue       | passed|
	| vf_smoke    | test_vf_rss               | passed|
	| vf_smoke    | test_vf_tx_rx_queue       | passed|
	| vf_smoke    | test_vf_jumbo_frames      | n/a   |
	| virtio_smoke| test_virtio_loopback      | passed|
	| virtio_smoke| test_virtio_pvp           | passed|
	+-------------+---------------------------+-------+


DPDK STV team


More information about the test-report mailing list