Pull io_uring update from Jens Axboe: "On top of the usual cleanups and fixes, the bigger items in here are: - zcrx work, most of it centered around adding dynamic area provisioning, plus a bunch of prep and cleanups leading up to it: scale refilling with large pages, coalesce same-niov RQEs on refill, separate the RQ head/tail cache lines and cache the RQ tail, and rework the area creation locking. - Fix the futex inflight accounting so that only private futex waits are marked inflight, and don't mark wake requests as inflight at all. - Drop the custom iov copy in the buffer select prep and msg header copy paths, using the generic helpers instead. - Fix a folio size overflow in io_vec_fill_bvec(), and account the pages a compound region really uses in the memmap path. - Fix an iovec leak in uring_cmd when the async cmd isn't recycled, skip the blocking task work for io_uring_cmd_issue_blocking(), and don't skip completion for a synchronous multishot cmd - Defer eventfd signaling when queued from a wakeup handler - Fix io-wq worker accounting when canceling creation callbacks - Annotate remote tasks for kcoverage" * tag 'for-7.3/io_uring-20260819' of git://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux: (30 commits) io_uring: Add missing include for ITER_SOURCE and ITER_DEST io_uring/uring_cmd: don't skip completion for a synchronous multishot cmd io_uring/memmap: account the pages a compound region really uses io_uring/zcrx: add dynamic area provisioning io_uring/zcrx: lock area creation with pp_lock io_uring/zcrx: keep array of areas io_uring/zcrx: move freelist lock to struct zcrx io_uring/zcrx: unmap under netdev lock io_uring/zcrx: split dmabuf unmap and release io_uring/zcrx: don't pass ifq_reg to area creation io_uring/zcrx: add helper for deriving area token io_uring/zcrx: don't reload skb_shinfo io_urint/zcrx: narrow var scope in io_zcrx_recv_skb() io_uring/zcrx: constify area_reg on import io_uring/zcrx: coalesce same-niov RQEs on refill io_uring/zcrx: cache RQ tail io_uring/zcrx: add RQ iterator io_uring/zcrx: move RQ head/tail to separate cache lines io_uring/zcrx: scale refilling with large pages io_uring/io-wq: fix worker accounting when canceling creation callbacks ...
Showing the changes to include/uapi/linux (1 of 22 files). Show all
Unified · Split
| @@ -116,6 +116,7 @@ enum zcrx_ctrl_op { · 115 unmodified lines | ||
| 116 | 116 | ZCRX_CTRL_FLUSH_RQ, |
| 117 | 117 | ZCRX_CTRL_EXPORT, |
| 118 | 118 | ZCRX_CTRL_ARM_EVENT, |
| 119 | + ZCRX_CTRL_ADD_AREA, | |
| 119 | 120 | |
| 120 | 121 | __ZCRX_CTRL_LAST, |
| 121 | 122 | }; |
| @@ -134,6 +135,11 @@ struct zcrx_ctrl_arm_event { · 12 unmodified lines | ||
| 134 | 135 | __u32 __resv[11]; |
| 135 | 136 | }; |
| 136 | 137 | |
| 138 | +struct zcrx_ctrl_add_area { | |
| 139 | + __u64 area_ptr; /* pointer to struct io_uring_zcrx_area_reg */ | |
| 140 | + __u64 __resv[5]; | |
| 141 | +}; | |
| 142 | + | |
| 137 | 143 | struct zcrx_ctrl { |
| 138 | 144 | __u32 zcrx_id; |
| 139 | 145 | __u32 op; /* see enum zcrx_ctrl_op */ |
| @@ -143,6 +149,7 @@ struct zcrx_ctrl { · 3 unmodified lines | ||
| 143 | 149 | struct zcrx_ctrl_export zc_export; |
| 144 | 150 | struct zcrx_ctrl_flush_rq zc_flush; |
| 145 | 151 | struct zcrx_ctrl_arm_event zc_arm_event; |
| 152 | + struct zcrx_ctrl_add_area zc_area; | |
| 146 | 153 | }; |
| 147 | 154 | }; |
| 148 | 155 | |