[PATCH io_uring 00/16] zcrx update for-7.3
Pavel Begunkov <[email protected]>
| Newsgroups | org.kernel.vger.netdev,org.kernel.vger.io-uring |
|---|---|
| Message-ID | <[email protected]> |
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(-) -- 2.54.0