On Tue, Sep 12, 2023 at 11:06:39AM -0600, Jens Axboe wrote: > On 9/9/23 9:11 AM, Jens Axboe wrote: > > Hi, > > > > This adds support for IORING_OP_WAITID, which is an async variant of > > the waitid(2) syscall. Rather than have a parent need to block waiting > > on a child task state change, it can now simply get an async notication > > when the requested state change has occured. > > > > Patches 1..4 are purely prep patches, and should not have functional > > changes. They split out parts of do_wait() into __do_wait(), so that > > the prepare-to-wait and sleep parts are contained within do_wait(). > > > > Patch 5 adds io_uring support. > > > > I wrote a few basic tests for this, which can be found in the > > 'waitid' branch of liburing: > > > > https://git.kernel.dk/cgit/liburing/log/?h=waitid > > > > Also spun a custom kernel for someone to test it, and no issues reported > > so far. > > Forget to mention that I also ran all the ltp testcases for any wait* > syscall test, and everything still passes just fine. I think the struct that this ends up exposing to io_uring is pretty ugly and it would warrant a larger cleanup. I wouldn't be surprised if you get some people complain about this. Other than that I don't have any complaints about the series.