Re: [PATCH v2] io-wq: expose IO_WQ_ACCT_* enumeration items to UAPI
From: Jens Axboe <axboe@kernel.dk>
Date: 2021-09-13 14:34:47
Also in:
io-uring, lkml
On 9/13/21 4:41 AM, Eugene Syromiatnikov wrote:
quoted hunk ↗ jump to hunk
These are used to index elements in the argument of IORING_REGISTER_IOWQ_MAX_WORKERS io_uring_register command, so they are to be exposed in UAPI. Complements: 2e480058ddc21ec5 ("io-wq: provide a way to limit max number of workers") Signed-off-by: Eugene Syromiatnikov <redacted> --- v2: - IO_WQ_ACCT_NR is no longer exposed directly in UAPI, per Jens Axboe's suggestion. v1: https://lore.kernel.org/lkml/20210912122411.GA27679@asgard.redhat.com/ (local) --- fs/io-wq.c | 5 ++--- include/uapi/linux/io_uring.h | 8 ++++++++ 2 files changed, 10 insertions(+), 3 deletions(-)diff --git a/fs/io-wq.c b/fs/io-wq.c index 6c55362..eb5162d 100644 --- a/fs/io-wq.c +++ b/fs/io-wq.c@@ -14,6 +14,7 @@ #include <linux/rculist_nulls.h> #include <linux/cpu.h> #include <linux/tracehook.h> +#include <uapi/linux/io_uring.h> #include "io-wq.h"@@ -78,9 +79,7 @@ struct io_wqe_acct { }; enum { - IO_WQ_ACCT_BOUND, - IO_WQ_ACCT_UNBOUND, - IO_WQ_ACCT_NR, + IO_WQ_ACCT_NR = __IO_WQ_ACCT_MAX }; /*diff --git a/include/uapi/linux/io_uring.h b/include/uapi/linux/io_uring.h index 59ef351..dae1841 100644 --- a/include/uapi/linux/io_uring.h +++ b/include/uapi/linux/io_uring.h@@ -324,6 +324,14 @@ enum { IORING_REGISTER_LAST }; +/* io-wq worker limit categories */ +enum { + IO_WQ_ACCT_BOUND, + IO_WQ_ACCT_UNBOUND, + + __IO_WQ_ACCT_MAX /* Non-UAPI */ +};
This is really the same thing as before, just the names have changed.
What I suggested was keeping the enum in io_uring, then just adding
enum {
IO_WQ_BOUND,
IO_WQ_UNBOUND,
};
to uapi header. The ACCT stuff is io-wq specific too, that kind of naming
shouldn't be propagated to userspace.
A BUILD_BUG_ON() could be added for them being different, but honestly
I don't think that's worth it.
--
Jens Axboe