@@ -16,30 +16,31 @@ option (udpa.annotations.file_status).package_version_status = ACTIVE;
16
16
17
17
// Configuration for default socket interface that relies on OS dependent syscall to create
18
18
// sockets.
19
- // [#next-free-field: 6]
20
19
message DefaultSocketInterface {
21
- // Enable io_uring for socket operations if the kernel supports. io_uring is only valid in
22
- // Linux with at least kernel version 5.6. Otherwise, Envoy will fall back to use the default
23
- // socket operations. The default is false.
24
- bool enable_io_uring = 1 ;
20
+ // io_uring options. io_uring is only valid in Linux with at least kernel version 5.11. Otherwise,
21
+ // Envoy will fall back to use the default socket API. If not set then io_uring will not be
22
+ // enabled.
23
+ IoUringOptions io_uring_options = 1 ;
24
+ }
25
25
26
+ message IoUringOptions {
26
27
// The size for io_uring submission queues (SQ). io_uring is built with a fixed size in each
27
28
// thread during configuration, and each io_uring operation creates a submission queue
28
29
// entry (SQE). The default is 1000.
29
- google.protobuf.UInt32Value io_uring_size = 2 ;
30
+ google.protobuf.UInt32Value io_uring_size = 1 ;
30
31
31
32
// Enable io_uring submission queue polling (SQPOLL). io_uring SQPOLL mode polls all SQEs in the
32
33
// SQ in the kernel thread. io_uring SQPOLL mode may reduce latency and increase CPU usage as a
33
34
// cost. The default is false.
34
- bool enable_io_uring_submission_queue_polling = 3 ;
35
+ bool enable_submission_queue_polling = 2 ;
35
36
36
37
// The size of an io_uring socket's read buffer. Each io_uring read operation will allocate a
37
38
// buffer of the given size. If the given buffer is too small, the socket will have read multiple
38
39
// times for all the data. The default is 8192.
39
- google.protobuf.UInt32Value io_uring_read_buffer_size = 4 ;
40
+ google.protobuf.UInt32Value read_buffer_size = 3 ;
40
41
41
42
// The write timeout of an io_uring socket on closing in ms. io_uring writes and closes
42
43
// asynchronously. If the remote stops reading, the io_uring write operation may never complete.
43
44
// The operation is canceled and the socket is closed after the timeout. The default is 1000.
44
- google.protobuf.UInt32Value io_uring_write_timeout_ms = 5 ;
45
+ google.protobuf.UInt32Value write_timeout_ms = 4 ;
45
46
}
0 commit comments