History

io_uring: allow non-fixed files with SQPOLL

The restriction of needing fixed files for SQPOLL is problematic, and prevents/inhibits several valid uses cases. With the referenced files_struct that we have now, it's trivially supportable. Treat ->files like we do the mm for the SQPOLL thread - grab a reference to it (and assign it), and drop it when we're done. This feature is exposed as IORING_FEAT_SQPOLL_NONFIXED.

Jens Axboe committed 6 years ago

Commit 28cea781 parent 36f4fa62 files · +70 −18Browse files

Showing the changes to include/uapi/linux (1 of 2 files). Show all

Unified · Split

include/uapi/linux/io_uring.h+1−0
@@ -254,6 +254,7 @@ struct io_uring_params { · 253 unmodified lines
254254 #define IORING_FEAT_CUR_PERSONALITY (1U << 4)
255255 #define IORING_FEAT_FAST_POLL (1U << 5)
256256 #define IORING_FEAT_POLL_32BITS (1U << 6)
257+#define IORING_FEAT_SQPOLL_NONFIXED (1U << 7)
257258
258259 /*
259260 * io_uring_register(2) opcodes and arguments