public inbox for io-uring@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v4 0/6] zcrx huge pages support Vol 1
@ 2025-07-02 14:29 Pavel Begunkov
  2025-07-02 14:29 ` [PATCH v4 1/6] io_uring/zcrx: always pass page to io_zcrx_copy_chunk Pavel Begunkov
                   ` (7 more replies)
  0 siblings, 8 replies; 16+ messages in thread
From: Pavel Begunkov @ 2025-07-02 14:29 UTC (permalink / raw)
  To: io-uring; +Cc: asml.silence

Use sgtable as the common format b/w dmabuf and user pages, deduplicate
dma address propagation handling, and use it to omptimise dma mappings.
It also prepares it for larger size for NIC pages.

v4: further restrict kmap fallback length, v3 isn't be generic
    enough to cover future uses.

v3: truncate kmap'ed length by both pages

v2: Don't coalesce into folios, just use sg_alloc_table_from_pages()
    for now. Coalescing will return back later.

    Improve some fallback copy code. Patch 1, and Patch 6 adding a
    helper to work with larger pages, which also allows to get rid
    of skb_frag_foreach_page.

    Return copy fallback helpers back to pages instead of folios,
    the latter wouldn't be correct in all cases.

Pavel Begunkov (6):
  io_uring/zcrx: always pass page to io_zcrx_copy_chunk
  io_uring/zcrx: return error from io_zcrx_map_area_*
  io_uring/zcrx: introduce io_populate_area_dma
  io_uring/zcrx: allocate sgtable for umem areas
  io_uring/zcrx: assert area type in io_zcrx_iov_page
  io_uring/zcrx: prepare fallback for larger pages

 io_uring/zcrx.c | 241 +++++++++++++++++++++++++-----------------------
 io_uring/zcrx.h |   1 +
 2 files changed, 128 insertions(+), 114 deletions(-)

-- 
2.49.0


^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2025-07-08 18:00 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-07-02 14:29 [PATCH v4 0/6] zcrx huge pages support Vol 1 Pavel Begunkov
2025-07-02 14:29 ` [PATCH v4 1/6] io_uring/zcrx: always pass page to io_zcrx_copy_chunk Pavel Begunkov
2025-07-02 22:32   ` David Wei
2025-07-02 14:29 ` [PATCH v4 2/6] io_uring/zcrx: return error from io_zcrx_map_area_* Pavel Begunkov
2025-07-02 22:27   ` David Wei
2025-07-02 22:50     ` Pavel Begunkov
2025-07-02 23:20       ` David Wei
2025-07-02 14:29 ` [PATCH v4 3/6] io_uring/zcrx: introduce io_populate_area_dma Pavel Begunkov
2025-07-02 23:13   ` David Wei
2025-07-02 14:29 ` [PATCH v4 4/6] io_uring/zcrx: allocate sgtable for umem areas Pavel Begunkov
2025-07-02 23:16   ` David Wei
2025-07-02 14:29 ` [PATCH v4 5/6] io_uring/zcrx: assert area type in io_zcrx_iov_page Pavel Begunkov
2025-07-02 14:29 ` [PATCH v4 6/6] io_uring/zcrx: prepare fallback for larger pages Pavel Begunkov
2025-07-02 23:12 ` [PATCH v4 0/6] zcrx huge pages support Vol 1 David Wei
2025-07-02 23:51   ` Pavel Begunkov
2025-07-08 18:00 ` Jens Axboe

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox