summaryrefslogtreecommitdiffstats
path: root/io_uring/napi.h
diff options
context:
space:
mode:
authorStefan Roesch <shr@devkernel.io>2023-06-08 09:38:38 -0700
committerJens Axboe <axboe@kernel.dk>2024-02-09 11:54:32 -0700
commitef1186c1a875bfa8a8cbfc2a9670b14b082187a9 (patch)
tree50da04b34a9d10306242d075b462c0ccc683d79f /io_uring/napi.h
parentff183d427da0a733b0dbe11bd7acaf2dcb37b4cc (diff)
downloadlinux-ef1186c1a875bfa8a8cbfc2a9670b14b082187a9.tar.gz
linux-ef1186c1a875bfa8a8cbfc2a9670b14b082187a9.tar.bz2
linux-ef1186c1a875bfa8a8cbfc2a9670b14b082187a9.zip
io_uring: add register/unregister napi function
This adds an api to register and unregister the napi for io-uring. If the arg value is specified when unregistering, the current napi setting for the busy poll timeout is copied into the user structure. If this is not required, NULL can be passed as the arg value. Signed-off-by: Stefan Roesch <shr@devkernel.io> Acked-by: Jakub Kicinski <kuba@kernel.org> Link: https://lore.kernel.org/r/20230608163839.2891748-7-shr@devkernel.io Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'io_uring/napi.h')
-rw-r--r--io_uring/napi.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/io_uring/napi.h b/io_uring/napi.h
index b6d6243fc7fe..6fc0393d0dbe 100644
--- a/io_uring/napi.h
+++ b/io_uring/napi.h
@@ -12,6 +12,9 @@
void io_napi_init(struct io_ring_ctx *ctx);
void io_napi_free(struct io_ring_ctx *ctx);
+int io_register_napi(struct io_ring_ctx *ctx, void __user *arg);
+int io_unregister_napi(struct io_ring_ctx *ctx, void __user *arg);
+
void __io_napi_add(struct io_ring_ctx *ctx, struct socket *sock);
void __io_napi_adjust_timeout(struct io_ring_ctx *ctx,
@@ -68,6 +71,14 @@ static inline void io_napi_init(struct io_ring_ctx *ctx)
static inline void io_napi_free(struct io_ring_ctx *ctx)
{
}
+static inline int io_register_napi(struct io_ring_ctx *ctx, void __user *arg)
+{
+ return -EOPNOTSUPP;
+}
+static inline int io_unregister_napi(struct io_ring_ctx *ctx, void __user *arg)
+{
+ return -EOPNOTSUPP;
+}
static inline bool io_napi(struct io_ring_ctx *ctx)
{
return false;