summaryrefslogtreecommitdiff
path: root/include/uapi/linux
diff options
context:
space:
mode:
authorPavel Begunkov <asml.silence@gmail.com>2025-11-13 13:46:16 +0300
committerJens Axboe <axboe@kernel.dk>2025-11-13 21:19:37 +0300
commitd7af80b213e5675664b14f12240cb282e81773d5 (patch)
treeb5bc142ec0ea3e97884a5e61656216c0ae29d7d3 /include/uapi/linux
parent742cb2e14ecb059cd4a77b92aa4945c20f85d414 (diff)
downloadlinux-d7af80b213e5675664b14f12240cb282e81773d5.tar.xz
io_uring/zcrx: export zcrx via a file
Add an option to wrap a zcrx instance into a file and expose it to the user space. Currently, users can't do anything meaningful with the file, but it'll be used in a next patch to import it into another io_uring instance. It's implemented as a new op called ZCRX_CTRL_EXPORT for the IORING_REGISTER_ZCRX_CTRL registration opcode. Signed-off-by: David Wei <dw@davidwei.uk> Signed-off-by: Pavel Begunkov <asml.silence@gmail.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'include/uapi/linux')
-rw-r--r--include/uapi/linux/io_uring.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/include/uapi/linux/io_uring.h b/include/uapi/linux/io_uring.h
index db47fced2cc6..4bedc0310a55 100644
--- a/include/uapi/linux/io_uring.h
+++ b/include/uapi/linux/io_uring.h
@@ -1083,6 +1083,7 @@ struct io_uring_zcrx_ifq_reg {
enum zcrx_ctrl_op {
ZCRX_CTRL_FLUSH_RQ,
+ ZCRX_CTRL_EXPORT,
__ZCRX_CTRL_LAST,
};
@@ -1091,12 +1092,20 @@ struct zcrx_ctrl_flush_rq {
__u64 __resv[6];
};
+struct zcrx_ctrl_export {
+ __u32 zcrx_fd;
+ __u32 __resv1[11];
+};
+
struct zcrx_ctrl {
__u32 zcrx_id;
__u32 op; /* see enum zcrx_ctrl_op */
__u64 __resv[2];
- struct zcrx_ctrl_flush_rq zc_flush;
+ union {
+ struct zcrx_ctrl_export zc_export;
+ struct zcrx_ctrl_flush_rq zc_flush;
+ };
};
#ifdef __cplusplus