Re: [PATCH bpf-next v3 0/4] xdp: recycle Page Pool backed skbs built from XDP frames

From: Alexander Lobakin
Date: Tue Mar 14 2023 - 08:00:52 EST


From: Alexander Lobakin <aleksander.lobakin@xxxxxxxxx>
Date: Mon, 13 Mar 2023 22:55:49 +0100

> Yeah, I still remember that "Who needs cpumap nowadays" (c), but anyway.
>
> __xdp_build_skb_from_frame() missed the moment when the networking stack
> became able to recycle skb pages backed by a page_pool. This was making
> e.g. cpumap redirect even less effective than simple %XDP_PASS. veth was
> also affected in some scenarios.
[...]

Regarding failing tests, here's a piece of logs:

#288 xdp_devmap_attach:OK
[ 156.324473] IPv6: ADDRCONF(NETDEV_CHANGE): veth_src: link becomes ready
[ 156.362859] bond2 (unregistering): Released all slaves
#289 xdp_do_redirect:OK
#290 xdp_info:OK

[...]

#297/1 xfrm_info/xfrm_info:OK
#297 xfrm_info:OK

All error logs:
libbpf: prog 'trace_virtqueue_add_sgs': BPF program load failed: Bad
address
libbpf: prog 'trace_virtqueue_add_sgs': -- BEGIN PROG LOAD LOG --
The sequence of 8193 jumps is too complex.
verification time 77808 usec
stack depth 64
processed 156616 insns (limit 1000000) max_states_per_insn 8
total_states 1754 peak_states 1712 mark_read 12
-- END PROG LOAD LOG --
libbpf: prog 'trace_virtqueue_add_sgs': failed to load: -14
libbpf: failed to load object 'loop6.bpf.o'
scale_test:FAIL:expect_success unexpected error: -14 (errno 14)
#257 verif_scale_loop6:FAIL
Summary: 288/1766 PASSED, 21 SKIPPED, 1 FAILED

So, xdp_do_redirect, which was previously failing, now works fine. OTOH,
"verif_scale_loop6" now fails, but from what I understand from the log,
it has nothing with the series ("8193 jumps is too complex" -- I don't
even touch program-related stuff). I don't know what's the reason of it
failing, can it be some CI issues or maybe some recent commits?

Thanks,
Olek