> An RX batch can make a socket readable while the worker still holds its > socket lock. Waking a blocking reader then only moves it to waiting for > the same lock. > > Record the existing low-watermark condition and notify once after > release_sock(). Move the coalesced write-space notification after the > unlock as well, since both callbacks wake sk_sleep(sk). Deliver > write-space before data-ready and keep the lookup reference until both > callbacks complete. > > As with write-space, save the initial sk_data_ready callback and batch only > while both saved callbacks remain installed. Sockets with replaced > callbacks retain their per-packet behavior. > > The existing psock-marker check also covers a concurrent sockmap attach: > at most the already admitted packet completes on the native path, and the > next packet ends the batch. > > Signed-off-by: Jia Jia <[email protected]>
Sashiko has reviewed this patch and found no issues. It looks great! -- Sashiko AI review ยท https://sashiko.dev/#/patchset/[email protected]?part=4
