History

io_uring: add support for multishot timeouts

A multishot timeout submission will repeatedly generate completions with the IORING_CQE_F_MORE cflag set. Depending on the value of the `off' field in the submission, these timeouts can either repeat indefinitely until cancelled (`off' = 0) or for a fixed number of times (`off' > 0). Only noseq timeouts (i.e. not dependent on the number of I/O completions) are supported. An indefinite timer will be cancelled if the CQ ever overflows.

David Wei committed 3 years ago

Commit ea97f6c1 parent 2236b392 files · +55 −3Browse files

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

Unified · Split

include/uapi/linux/io_uring.h+1−0
@@ -250,6 +250,7 @@ enum io_uring_op { · 249 unmodified lines
250250 #define IORING_TIMEOUT_REALTIME (1U << 3)
251251 #define IORING_LINK_TIMEOUT_UPDATE (1U << 4)
252252 #define IORING_TIMEOUT_ETIME_SUCCESS (1U << 5)
253+#define IORING_TIMEOUT_MULTISHOT (1U << 6)
253254 #define IORING_TIMEOUT_CLOCK_MASK (IORING_TIMEOUT_BOOTTIME | IORING_TIMEOUT_REALTIME)
254255 #define IORING_TIMEOUT_UPDATE_MASK (IORING_TIMEOUT_UPDATE | IORING_LINK_TIMEOUT_UPDATE)
255256 /*

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t