[PATCH bpf-next v4 0/2] xsk: introduce pre-allocated memory per xsk CQ
From: Jason Xing <hidden>
Date: 2026-01-06 01:31:20
Also in:
bpf
From: Jason Xing <kernelxing@tencent.com>
This series was made based on the previous work[1] to fix the issue
without causing too much performance impact through adding a
pre-allocated memory for each xsk.
[1]: commit 30f241fcf52a ("xsk: Fix immature cq descriptor production")
---
v4
link: https://lore.kernel.org/all/CAL+tcoB6eCogZXXxDQ58nxp-VxWFOPR2DP4pyLVxGtjXdWPQXA@mail.gmail.com/ (local)
1. use u64 addr in xsk_cq_write_addr()
v3
link: https://lore.kernel.org/all/20251216052623.2697-1-kerneljasonxing@gmail.com/ (local)
1. fix double free of lcq in xsk_clear_local_cq()
2. keep lcq->prod align with cq->cached_prod, which can be found in
xsk_cq_cancel_locked().
3. move xsk_clear_local_cq() from xsk_release() to xsk_destruct() to
avoid crash when using lcq in xsk_destruct_skb() after lcq is already freed.
v2
link: https://lore.kernel.org/all/20251209085950.96231-1-kerneljasonxing@gmail.com/ (local)
1. add if condition to test if cq is NULL
2. initialize the prod of local_cq
Jason Xing (2):
xsk: introduce local_cq for each af_xdp socket
xsk: introduce a dedicated local completion queue for each xsk
include/net/xdp_sock.h | 8 ++
net/xdp/xsk.c | 223 +++++++++++++++++++++--------------------
2 files changed, 123 insertions(+), 108 deletions(-)
--
2.41.3