Subject: [PATCH bpf-next v3 0/2] xsk: introduce pre-allocated memory per xsk CQ

From: Jason Xing <[email-masked]>
Date: Sun, 4 Jan 2026 11:23:11 +0800

From: Jason Xing <[email-masked]>

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")

---
v3
link: https://lore.kernel.org/all/[email-masked]/
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/[email-masked]/
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          | 222 +++++++++++++++++++++--------------------
 2 files changed, 122 insertions(+), 108 deletions(-)

-- 
2.41.3