[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20230711204352.214086-1-axboe@kernel.dk>
Date: Tue, 11 Jul 2023 14:43:47 -0600
From: Jens Axboe <axboe@...nel.dk>
To: io-uring@...r.kernel.org, linux-kernel@...r.kernel.org
Cc: brauner@...nel.org, arnd@...db.de
Subject: [PATCHSET 0/5] Add io_uring support for waitid
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
include/linux/io_uring_types.h | 2 +
include/uapi/linux/io_uring.h | 2 +
io_uring/Makefile | 2 +-
io_uring/cancel.c | 5 +
io_uring/io_uring.c | 3 +
io_uring/opdef.c | 9 ++
io_uring/waitid.c | 271 +++++++++++++++++++++++++++++++++
io_uring/waitid.h | 15 ++
kernel/exit.c | 132 +++++++++-------
kernel/exit.h | 30 ++++
10 files changed, 411 insertions(+), 60 deletions(-)
The code can also be found here:
https://git.kernel.dk/cgit/linux/log/?h=io_uring-waitid
--
Jens Axboe
Powered by blists - more mailing lists