[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20251216025047.67553-1-kerneljasonxing@gmail.com>
Date: Tue, 16 Dec 2025 10:50:45 +0800
From: Jason Xing <kerneljasonxing@...il.com>
To: davem@...emloft.net,
edumazet@...gle.com,
kuba@...nel.org,
pabeni@...hat.com,
bjorn@...nel.org,
magnus.karlsson@...el.com,
maciej.fijalkowski@...el.com,
jonathan.lemon@...il.com,
sdf@...ichev.me,
ast@...nel.org,
daniel@...earbox.net,
hawk@...nel.org,
john.fastabend@...il.com
Cc: bpf@...r.kernel.org,
netdev@...r.kernel.org,
Jason Xing <kernelxing@...cent.com>
Subject: [PATCH RFC net-next v5 0/2] xsk: move cq_cached_prod_lock
From: Jason Xing <kernelxing@...cent.com>
Move cq_cached_prod_lock to avoid touching new cacheline.
---
Q: since net-next will be open next year, I wonder if I should post this
patch targetting bpf-next?
RFC V5
Link: https://lore.kernel.org/all/20251209031628.28429-1-kerneljasonxing@gmail.com/
1. From what I lately know from the repro at the above link, application
can use the shared umem mode directly but the kernel will eventually
return error that is reflected in the xp_assign_dev_shared(). Advancing
the check can avoid the crash in patch [1/2] and be good to avoid
unnecessary memory allocation.
RFC V4
Link: https://lore.kernel.org/all/20251128134601.54678-1-kerneljasonxing@gmail.com/
1. use moving lock method instead (Paolo, Magnus)
2. Add credit to Paolo, thanks!
v3
Link: https://lore.kernel.org/all/20251125085431.4039-1-kerneljasonxing@gmail.com/
1. fix one race issue that cannot be resolved by simple seperated atomic
operations. So this revision only updates patch [2/3] and tries to use
try_cmpxchg method to avoid that problem. (paolo)
2. update commit log accordingly.
V2
Link: https://lore.kernel.org/all/20251124080858.89593-1-kerneljasonxing@gmail.com/
1. use separate functions rather than branches within shared routines. (Maciej)
2. make each patch as simple as possible for easier review
Jason Xing (2):
xsk: advance cq/fq check when shared umem is used
xsk: move cq_cached_prod_lock to avoid touching a cacheline in sending
path
include/net/xsk_buff_pool.h | 5 -----
net/xdp/xsk.c | 15 +++++++++++----
net/xdp/xsk_buff_pool.c | 6 +-----
net/xdp/xsk_queue.h | 5 +++++
4 files changed, 17 insertions(+), 14 deletions(-)
--
2.41.3
Powered by blists - more mailing lists