On 7/29/20 4:10 AM, Jiufei Xue wrote: > Kernel can handle timeout when feature IORING_FEAT_GETEVENTS_TIMEOUT > supported. Add two new interfaces: io_uring_wait_cqes2(), > io_uring_wait_cqe_timeout2() for applications to use this feature. Why add new new interfaces, when the old ones already pass in the timeout? Surely they could just use this new feature, instead of the internal timeout, if it's available? > diff --git a/src/include/liburing.h b/src/include/liburing.h > index 0505a4f..6176a63 100644 > --- a/src/include/liburing.h > +++ b/src/include/liburing.h > @@ -56,6 +56,7 @@ struct io_uring { > struct io_uring_sq sq; > struct io_uring_cq cq; > unsigned flags; > + unsigned features; > int ring_fd; > }; This breaks the API, as it changes the size of the ring... -- Jens Axboe