Skip to content

zcrx update for-7.3

Pavel Begunkov io-uring netdev 1 version Applied

Status from this message: Applied, thanks!

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest16 patches 4 repliesApplied

Patches in v1 Applied

#Subject and filesSizeRepliesApplied
1/16io_uring/zcrx: scale refilling with large pagesio_uring/zcrx.c+14 -70 replies
2/16io_uring/zcrx: move RQ head/tail to separate cache linesio_uring/query.c io_uring/zcrx.c io_uring/zcrx.h+11 -63 replies
3/16io_uring/zcrx: add RQ iteratorio_uring/zcrx.c+26 -60 replies
4/16io_uring/zcrx: cache RQ tailio_uring/zcrx.c io_uring/zcrx.h+22 -60 replies
5/16io_uring/zcrx: coalesce same-niov RQEs on refillio_uring/zcrx.c+36 -200 replies
6/16io_uring/zcrx: constify area_reg on importio_uring/zcrx.c+3 -30 replies
7/16io_urint/zcrx: narrow var scope in io_zcrx_recv_skb()io_uring/zcrx.c+16 -190 replies
8/16io_uring/zcrx: don't reload skb_shinfoio_uring/zcrx.c+5 -60 replies
9/16io_uring/zcrx: add helper for deriving area tokenio_uring/zcrx.c+7 -20 replies
10/16io_uring/zcrx: don't pass ifq_reg to area creationio_uring/zcrx.c+14 -60 replies
11/16io_uring/zcrx: split dmabuf unmap and releaseio_uring/zcrx.c+11 -60 replies
12/16io_uring/zcrx: unmap under netdev lockio_uring/zcrx.c+14 -80 replies
13/16io_uring/zcrx: move freelist lock to struct zcrxio_uring/zcrx.c io_uring/zcrx.h+8 -80 replies
14/16io_uring/zcrx: keep array of areasio_uring/zcrx.c io_uring/zcrx.h+87 -300 replies
15/16io_uring/zcrx: lock area creation with pp_lockio_uring/zcrx.c+4 -80 replies
16/16io_uring/zcrx: add dynamic area provisioninginclude/uapi/linux/io_uring/zcrx.h io_uring/zcrx.c+57 -60 replies

Reviews trailers per patch

1 of 16 patches has a Reviewed-by or Acked-by.

PatchMina Almasry
1/16
2/16R-b
3/16
4/16
5/16
6/16
7/16
8/16
9/16
10/16
11/16
12/16
13/16
14/16
15/16
16/16

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v1 thread

Cover letter [PATCH io_uring 00/16] zcrx update for-7.3

zcrx update for 7.3. Patch 1 fixes RQ processing over-throttling, which shows up with larger page sizes. Patches 2-5 makes the RQ use more scalable for multi-CPU setups, including softirq running on a different CPU from CPU. Patches 9-16 implement dynamic area provisioning.

Pavel Begunkov (16):
io_uring/zcrx: scale refilling with large pages io_uring/zcrx: move RQ head/tail to separate cache lines io_uring/zcrx: add RQ iterator
io_uring/zcrx: cache RQ tail
io_uring/zcrx: coalesce same-niov RQEs on refill io_uring/zcrx: constify area_reg on import io_urint/zcrx: narrow var scope in io_zcrx_recv_skb() io_uring/zcrx: don't reload skb_shinfo io_uring/zcrx: add helper for deriving area token io_uring/zcrx: don't pass ifq_reg to area creation io_uring/zcrx: split dmabuf unmap and release io_uring/zcrx: unmap under netdev lock io_uring/zcrx: move freelist lock to struct zcrx io_uring/zcrx: keep array of areas io_uring/zcrx: lock area creation with pp_lock io_uring/zcrx: add dynamic area provisioning

 include/uapi/linux/io_uring/zcrx.h |   7 +
 io_uring/query.c                   |   2 +-
 io_uring/zcrx.c                    | 398 +++++++++++++++++++++--------
 io_uring/zcrx.h                    |  15 +-
 4 files changed, 305 insertions(+), 117 deletions(-)
Signature · 1 line
2.54.0