diff options
| author | Xin Zhao <jackzxcui1989@163.com> | 2025-09-08 18:45:48 +0800 | 
|---|---|---|
| committer | Jakub Kicinski <kuba@kernel.org> | 2025-09-11 18:40:06 -0700 | 
| commit | 28d2420d403ada8a5ff1bf2077ef66051b2aa4d7 (patch) | |
| tree | 6bd9962b2c4025e604fd5f8d7e35c4d97e2ae4f6 /rust/helpers/rcu.c | |
| parent | e663ad6e06a776b739d490b51c59c07cb4d767a4 (diff) | |
net: af_packet: remove last_kactive_blk_num field
kactive_blk_num (K) is only incremented on block close.
In timer callback prb_retire_rx_blk_timer_expired, except delete_blk_timer
is true, last_kactive_blk_num (L) is set to match kactive_blk_num (K) in
all cases. L is also set to match K in prb_open_block.
The only case K not equal to L is when scheduled by tpacket_rcv
and K is just incremented on block close but no new block could be opened,
so that it does not call prb_open_block in prb_dispatch_next_block.
This patch modifies the prb_retire_rx_blk_timer_expired function by simply
removing the check for L == K. This patch just provides another checkpoint
to thaw the might-be-frozen block in any case. It doesn't have any effect
because __packet_lookup_frame_in_block() has the same logic and does it
again without this patch when detecting the ring is frozen. The patch only
advances checking the status of the ring.
Suggested-by: Willem de Bruijn <willemdebruijn.kernel@gmail.com>
Reviewed-by: Willem de Bruijn <willemdebruijn.kernel@gmail.com>
Reviewed-by: Jason Xing <kerneljasonxing@gmail.com>
Link: https://lore.kernel.org/all/20250831100822.1238795-1-jackzxcui1989@163.com/
Signed-off-by: Xin Zhao <jackzxcui1989@163.com>
Link: https://patch.msgid.link/20250908104549.204412-2-jackzxcui1989@163.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'rust/helpers/rcu.c')
0 files changed, 0 insertions, 0 deletions
