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
250#define IORING_TIMEOUT_REALTIME (1U << 3)250#define IORING_TIMEOUT_REALTIME (1U << 3)
251#define IORING_LINK_TIMEOUT_UPDATE (1U << 4)251#define IORING_LINK_TIMEOUT_UPDATE (1U << 4)
252#define IORING_TIMEOUT_ETIME_SUCCESS (1U << 5)252#define IORING_TIMEOUT_ETIME_SUCCESS (1U << 5)
253#define IORING_TIMEOUT_MULTISHOT (1U << 6)
253#define IORING_TIMEOUT_CLOCK_MASK (IORING_TIMEOUT_BOOTTIME | IORING_TIMEOUT_REALTIME)254#define IORING_TIMEOUT_CLOCK_MASK (IORING_TIMEOUT_BOOTTIME | IORING_TIMEOUT_REALTIME)
254#define IORING_TIMEOUT_UPDATE_MASK (IORING_TIMEOUT_UPDATE | IORING_LINK_TIMEOUT_UPDATE)255#define IORING_TIMEOUT_UPDATE_MASK (IORING_TIMEOUT_UPDATE | IORING_LINK_TIMEOUT_UPDATE)
255/*256/*

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