aboutsummaryrefslogtreecommitdiffstats
path: root/sys/linux/io_uring.txt
diff options
context:
space:
mode:
authorSablin Viacheslav <sjava1902@gmail.com>2024-11-05 01:42:48 +0300
committerAleksandr Nogikh <nogikh@google.com>2024-11-13 08:55:55 +0000
commit8acebd3f596375b3c8c34ee8f9000a344064295a (patch)
treec88ca114db9c0f7875a6b79be0c2588f9257e829 /sys/linux/io_uring.txt
parentc352ddf895e4f5a5b7e8f7caa37f476c6926326f (diff)
sys/linux: add new ioctls for io_uring, dev_block and fs
Diffstat (limited to 'sys/linux/io_uring.txt')
-rw-r--r--sys/linux/io_uring.txt56
1 files changed, 55 insertions, 1 deletions
diff --git a/sys/linux/io_uring.txt b/sys/linux/io_uring.txt
index cf2a46d88..0d63c0f50 100644
--- a/sys/linux/io_uring.txt
+++ b/sys/linux/io_uring.txt
@@ -57,8 +57,15 @@ io_uring_register$IORING_UNREGISTER_RING_FDS(fd fd_io_uring, opcode const[IORING
io_uring_register$IORING_REGISTER_PBUF_RING(fd fd_io_uring, opcode const[IORING_REGISTER_PBUF_RING], arg ptr[in, io_uring_buf_reg], nr_args const[1])
io_uring_register$IORING_UNREGISTER_PBUF_RING(fd fd_io_uring, opcode const[IORING_UNREGISTER_PBUF_RING], arg ptr[in, io_uring_buf_reg], nr_args const[1])
# IORING_REGISTER_PBUF_RING, IORING_UNREGISTER_PBUF_RING >= 5.19
+io_uring_register$IORING_REGISTER_SYNC_CANCEL(fd fd_io_uring, opcode const[IORING_REGISTER_SYNC_CANCEL], arg ptr[in, io_uring_sync_cancel_reg], nr_args const[1])
+io_uring_register$IORING_REGISTER_FILE_ALLOC_RANGE(fd fd_io_uring, opcode const[IORING_REGISTER_FILE_ALLOC_RANGE], arg ptr[in, io_uring_file_index_range], nr_args const[0])
+io_uring_register$IORING_REGISTER_PBUF_STATUS(fd fd_io_uring, opcode const[IORING_REGISTER_PBUF_STATUS], arg ptr[in, io_uring_buf_status], nr_args const[1])
+io_uring_register$IORING_REGISTER_NAPI(fd fd_io_uring, opcode const[IORING_REGISTER_NAPI], arg ptr[in, io_uring_napi], nr_args const[1])
+io_uring_register$IORING_UNREGISTER_NAPI(fd fd_io_uring, opcode const[IORING_UNREGISTER_NAPI], arg ptr[out, io_uring_napi], nr_args const[1])
+io_uring_register$IORING_REGISTER_CLOCK(fd fd_io_uring, opcode const[IORING_REGISTER_CLOCK], arg ptr[in, io_uring_clock_register], nr_args const[0])
+io_uring_register$IORING_REGISTER_CLONE_BUFFERS(fd fd_io_uring, opcode const[IORING_REGISTER_CLONE_BUFFERS], arg ptr[in, io_uring_clone_buffers], nr_args const[1])
-io_uring_register_opcodes = IORING_REGISTER_BUFFERS, IORING_UNREGISTER_BUFFERS, IORING_REGISTER_FILES, IORING_UNREGISTER_FILES, IORING_REGISTER_EVENTFD, IORING_UNREGISTER_EVENTFD, IORING_REGISTER_FILES_UPDATE, IORING_REGISTER_EVENTFD_ASYNC, IORING_REGISTER_PROBE, IORING_REGISTER_PERSONALITY, IORING_UNREGISTER_PERSONALITY, IORING_REGISTER_RESTRICTIONS, IORING_REGISTER_ENABLE_RINGS, IORING_REGISTER_FILES2, IORING_REGISTER_FILES_UPDATE2, IORING_REGISTER_BUFFERS2, IORING_REGISTER_BUFFERS_UPDATE, IORING_REGISTER_IOWQ_AFF, IORING_UNREGISTER_IOWQ_AFF, IORING_REGISTER_IOWQ_MAX_WORKERS, IORING_REGISTER_RING_FDS, IORING_UNREGISTER_RING_FDS, IORING_REGISTER_PBUF_RING, IORING_UNREGISTER_PBUF_RING, IORING_REGISTER_SYNC_CANCEL, IORING_REGISTER_FILE_ALLOC_RANGE
+io_uring_register_opcodes = IORING_REGISTER_BUFFERS, IORING_UNREGISTER_BUFFERS, IORING_REGISTER_FILES, IORING_UNREGISTER_FILES, IORING_REGISTER_EVENTFD, IORING_UNREGISTER_EVENTFD, IORING_REGISTER_FILES_UPDATE, IORING_REGISTER_EVENTFD_ASYNC, IORING_REGISTER_PROBE, IORING_REGISTER_PERSONALITY, IORING_UNREGISTER_PERSONALITY, IORING_REGISTER_RESTRICTIONS, IORING_REGISTER_ENABLE_RINGS, IORING_REGISTER_FILES2, IORING_REGISTER_FILES_UPDATE2, IORING_REGISTER_BUFFERS2, IORING_REGISTER_BUFFERS_UPDATE, IORING_REGISTER_IOWQ_AFF, IORING_UNREGISTER_IOWQ_AFF, IORING_REGISTER_IOWQ_MAX_WORKERS, IORING_REGISTER_RING_FDS, IORING_UNREGISTER_RING_FDS, IORING_REGISTER_PBUF_RING, IORING_UNREGISTER_PBUF_RING, IORING_REGISTER_SYNC_CANCEL, IORING_REGISTER_FILE_ALLOC_RANGE, IORING_REGISTER_PBUF_STATUS, IORING_REGISTER_NAPI, IORING_UNREGISTER_NAPI, IORING_REGISTER_CLOCK, IORING_REGISTER_CLONE_BUFFERS
# The mmap'ed area for SQ and CQ rings are really the same -- the difference is
# accounted for with the usage of offsets.
@@ -489,3 +496,50 @@ io_uring_sqe_tee_misc {
splice_fd_in fd
pad_unused array[const[0, int64], 2]
}
+
+io_uring_sync_cancel_reg {
+ addr int64
+ fd fd
+ flags flags[iouring_async_cancel_flags, int32]
+ timeout kernel_timespec
+ opcode int8
+ pad array[const[0, int8], 7]
+ pad2 array[const[0, int64], 3]
+}
+
+kernel_timespec {
+ tv_sec int64
+ tv_nsec int64
+}
+
+iouring_async_cancel_flags = IORING_ASYNC_CANCEL_ALL, IORING_ASYNC_CANCEL_FD, IORING_ASYNC_CANCEL_ANY, IORING_ASYNC_CANCEL_FD_FIXED, IORING_ASYNC_CANCEL_USERDATA, IORING_ASYNC_CANCEL_OP
+
+io_uring_file_index_range {
+ off int32
+ len int32
+ resv int64
+}
+
+io_uring_buf_status {
+ buf_group int32 (in)
+ head int32 (out)
+ resv array[const[0, int32], 8]
+}
+
+io_uring_napi {
+ busy_poll_to int32
+ prefer_busy_poll int8
+ pad array[const[0, int8], 3]
+ resv const[0, int64]
+}
+
+io_uring_clock_register {
+ clockid flags[clock_type, int32]
+ resv array[const[0, int32], 3]
+}
+
+io_uring_clone_buffers {
+ src_fd fd
+ flags const[1, int32]
+ pad array[const[0, int32], 6]
+}