[Intel-wired-lan] [PATCH bpf-next v7 3/5] net: stmmac: Add launch time support to XDP ZC

Choong Yong Liang yong.liang.choong at linux.intel.com
Tue Feb 4 01:34:03 UTC 2025



On 4/2/2025 8:49 am, Song Yoong Siang wrote:
> Enable launch time (Time-Based Scheduling) support for XDP zero copy via
> the XDP Tx metadata framework.
> 
> This patch has been tested with tools/testing/selftests/bpf/xdp_hw_metadata
> on Intel Tiger Lake platform. Below are the test steps and result.
> 
> Test 1: Send a single packet with the launch time set to 1 s in the future.
> 
> Test steps:
> 1. On the DUT, start the xdp_hw_metadata selftest application:
>     $ sudo ./xdp_hw_metadata enp0s30f4 -l 1000000000 -L 1
> 
> 2. On the Link Partner, send a UDP packet with VLAN priority 1 to port 9091
>     of the DUT.
> 
> Result:
> When the launch time is set to 1 s in the future, the delta between the
> launch time and the transmit hardware timestamp is 16.963 us, as shown in
> printout of the xdp_hw_metadata application below.
>    0x55b5864717a8: rx_desc[4]->addr=88100 addr=88100 comp_addr=88100 EoP
>    No rx_hash, err=-95
>    HW RX-time:   1734579065767717328 (sec:1734579065.7677)
>                  delta to User RX-time sec:0.0004 (375.624 usec)
>    XDP RX-time:   1734579065768004454 (sec:1734579065.7680)
>                   delta to User RX-time sec:0.0001 (88.498 usec)
>    No rx_vlan_tci or rx_vlan_proto, err=-95
>    0x55b5864717a8: ping-pong with csum=5619 (want 0000)
>                    csum_start=34 csum_offset=6
>    HW RX-time:   1734579065767717328 (sec:1734579065.7677)
>                  delta to HW Launch-time sec:1.0000 (1000000.000 usec)
>    0x55b5864717a8: complete tx idx=4 addr=4018
>    HW Launch-time:   1734579066767717328 (sec:1734579066.7677)
>                      delta to HW TX-complete-time sec:0.0000 (16.963 usec)
>    HW TX-complete-time:   1734579066767734291 (sec:1734579066.7677)
>                           delta to User TX-complete-time sec:0.0001
>                           (130.408 usec)
>    XDP RX-time:   1734579065768004454 (sec:1734579065.7680)
>                   delta to User TX-complete-time sec:0.9999
>                  (999860.245 usec)
>    HW RX-time:   1734579065767717328 (sec:1734579065.7677)
>                  delta to HW TX-complete-time sec:1.0000 (1000016.963 usec)
>    0x55b5864717a8: complete rx idx=132 addr=88100
> 
> Test 2: Send 1000 packets with a 10 ms interval and the launch time set to
>          500 us in the future.
> 
> Test steps:
> 1. On the DUT, start the xdp_hw_metadata selftest application:
>     $ sudo chrt -f 99 ./xdp_hw_metadata enp0s30f4 -l 500000 -L 1 > \
>       /dev/shm/result.log
> 
> 2. On the Link Partner, send 1000 UDP packets with a 10 ms interval and
>     VLAN priority 1 to port 9091 of the DUT.
> 
> Result:
> When the launch time is set to 500 us in the future, the average delta
> between the launch time and the transmit hardware timestamp is 13.854 us,
> as shown in the analysis of /dev/shm/result.log below. The XDP launch time
> works correctly in sending 1000 packets continuously.
>    Min delta: 08.410 us
>    Avr delta: 13.854 us
>    Max delta: 17.076 us
>    Total packets forwarded: 1000
> 
> Signed-off-by: Song Yoong Siang <yoong.siang.song at intel.com>

Reviewed-by: Choong Yong Liang <yong.liang.choong at linux.intel.com>


More information about the Intel-wired-lan mailing list