summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEugene Syromyatnikov <evgsyr@gmail.com>2022-05-02 04:02:13 +0200
committerDmitry V. Levin <ldv@strace.io>2022-05-02 02:02:13 +0000
commit6f530c8848d03764f0aa440869a53144dda0909f (patch)
treef849fa74ea2701768621700edbeb3903ac5ff3df
parentdb211a06d1e028173a3fc0a0f715c91ccbd97d8a (diff)
downloadstrace-6f530c8848d03764f0aa440869a53144dda0909f.tar.gz
xlat: update IORING_* constants
* src/xlat/uring_enter_flags.in (IORING_ENTER_REGISTERED_RING): New constant, introduced by Linux commit v5.18-rc1~22^2~44. * src/xlat/uring_ops.in (IORING_OP_MSG_RING): New constant, introduced by Linux commit v5.18-rc1~22^2~42. * src/xlat/uring_setup_features.in (IORING_FEAT_LINKED_FILE): New constant, introduced by Linux commit v5.18-rc3~17^2~12. * src/xlat/uring_setup_flags.in (IORING_SETUP_SUBMIT_ALL): New constant, introduced by Linux commit v5.18-rc1~22^2~36. * tests/io_uring_enter.c: Update expected output. * tests/io_uring_register.c: Likewise. * tests/io_uring_setup.c: Likewise. * NEWS: Mention this.
-rw-r--r--NEWS3
-rw-r--r--src/xlat/uring_enter_flags.in1
-rw-r--r--src/xlat/uring_ops.in1
-rw-r--r--src/xlat/uring_setup_features.in1
-rw-r--r--src/xlat/uring_setup_flags.in1
-rw-r--r--tests/io_uring_enter.c5
-rw-r--r--tests/io_uring_register.c20
-rw-r--r--tests/io_uring_setup.c4
8 files changed, 21 insertions, 15 deletions
diff --git a/NEWS b/NEWS
index b19eace89..19735dda0 100644
--- a/NEWS
+++ b/NEWS
@@ -6,7 +6,8 @@ Noteworthy changes in release ?.?? (????-??-??)
* Added --tips option to print strace tips, tricks, and tweaks
at the end of the tracing session.
* Enhanced decoding of io_uring_register syscall.
- * Updated lists of BR_*, BTRFS_*, IFA_*, IFLA_*, KEY_*, and MADV_* constants.
+ * Updated lists of BR_*, BTRFS_*, IFA_*, IFLA_*, IORING_*, KEY_*,
+ and MADV_* constants.
* Bug fixes
diff --git a/src/xlat/uring_enter_flags.in b/src/xlat/uring_enter_flags.in
index 975145d8f..90d8376d8 100644
--- a/src/xlat/uring_enter_flags.in
+++ b/src/xlat/uring_enter_flags.in
@@ -3,3 +3,4 @@ IORING_ENTER_GETEVENTS
IORING_ENTER_SQ_WAKEUP
IORING_ENTER_SQ_WAIT
IORING_ENTER_EXT_ARG
+IORING_ENTER_REGISTERED_RING
diff --git a/src/xlat/uring_ops.in b/src/xlat/uring_ops.in
index c50bdb6b2..76caa017e 100644
--- a/src/xlat/uring_ops.in
+++ b/src/xlat/uring_ops.in
@@ -40,3 +40,4 @@ IORING_OP_UNLINKAT
IORING_OP_MKDIRAT
IORING_OP_SYMLINKAT
IORING_OP_LINKAT
+IORING_OP_MSG_RING
diff --git a/src/xlat/uring_setup_features.in b/src/xlat/uring_setup_features.in
index 33aab9a33..8ff417353 100644
--- a/src/xlat/uring_setup_features.in
+++ b/src/xlat/uring_setup_features.in
@@ -11,3 +11,4 @@ IORING_FEAT_EXT_ARG
IORING_FEAT_NATIVE_WORKERS
IORING_FEAT_RSRC_TAGS
IORING_FEAT_CQE_SKIP
+IORING_FEAT_LINKED_FILE
diff --git a/src/xlat/uring_setup_flags.in b/src/xlat/uring_setup_flags.in
index 44d79db42..784bfec51 100644
--- a/src/xlat/uring_setup_flags.in
+++ b/src/xlat/uring_setup_flags.in
@@ -6,3 +6,4 @@ IORING_SETUP_CQSIZE
IORING_SETUP_CLAMP
IORING_SETUP_ATTACH_WQ
IORING_SETUP_R_DISABLED
+IORING_SETUP_SUBMIT_ALL
diff --git a/tests/io_uring_enter.c b/tests/io_uring_enter.c
index 61a3c7e15..022f564a1 100644
--- a/tests/io_uring_enter.c
+++ b/tests/io_uring_enter.c
@@ -65,8 +65,9 @@ main(void)
sys_io_uring_enter(fd, to_submit, min_complete, -1U, sigmask, size);
printf("io_uring_enter(%u<%s>, %u, %u"
", IORING_ENTER_GETEVENTS|IORING_ENTER_SQ_WAKEUP"
- "|IORING_ENTER_SQ_WAIT|IORING_ENTER_EXT_ARG|%#x, %s, %u) = %s\n",
- fd, path, to_submit, min_complete, -1U - 15U,
+ "|IORING_ENTER_SQ_WAIT|IORING_ENTER_EXT_ARG"
+ "|IORING_ENTER_REGISTERED_RING|%#x, %s, %u) = %s\n",
+ fd, path, to_submit, min_complete, -1U - 31U,
"~[HUP KILL STOP]", size, errstr);
puts("+++ exited with 0 +++");
diff --git a/tests/io_uring_register.c b/tests/io_uring_register.c
index 47311276a..5096eb331 100644
--- a/tests/io_uring_register.c
+++ b/tests/io_uring_register.c
@@ -338,12 +338,12 @@ main(void)
probe->ops[0].flags = 0;
probe->ops[0].resv2 = 0xbeefface;
- probe->ops[1].op = 39;
+ probe->ops[1].op = 40;
probe->ops[1].resv = 0;
probe->ops[1].flags = IO_URING_OP_SUPPORTED;
probe->ops[1].resv2 = 0xdeadc0de;
- probe->ops[2].op = 40;
+ probe->ops[2].op = 41;
probe->ops[2].resv = 0xaf;
probe->ops[2].flags = 0xbeef;
probe->ops[2].resv2 = 0;
@@ -358,32 +358,32 @@ main(void)
", ops_len=%hhu, resv2=[0, %#x, 0], ops=["
"{op=" XLAT_FMT_U ", resv=0xde, flags=0, resv2=0xbeefface}, "
"{op=" XLAT_FMT_U ", flags=" XLAT_FMT ", resv2=0xdeadc0de}, "
- "{op=40" NRAW(" /* IORING_OP_??? */") ", resv=0xaf, flags="
+ "{op=41" NRAW(" /* IORING_OP_??? */") ", resv=0xaf, flags="
XLAT_FMT "}, {op=254" NRAW(" /* IORING_OP_??? */")
", flags=0xc0de" NRAW(" /* IO_URING_OP_??? */") "}]}"
#if RETVAL_INJECTED
" => {last_op=" XLAT_FMT_U ", ops_len=%hhu, resv2=[0, %#x, 0], "
"ops=[{op=" XLAT_FMT_U ", resv=0xde, flags=0, resv2=0xbeefface}"
", {op=" XLAT_FMT_U ", flags=" XLAT_FMT ", resv2=0xdeadc0de}"
- ", {op=40" NRAW(" /* IORING_OP_??? */") ", resv=0xaf, flags="
+ ", {op=41" NRAW(" /* IORING_OP_??? */") ", resv=0xaf, flags="
XLAT_FMT "}, {op=254" NRAW(" /* IORING_OP_??? */")
", flags=0xc0de" NRAW(" /* IO_URING_OP_??? */") "}, ...]}"
#endif
", 4) = %s\n",
fd_null, path_null, XLAT_ARGS(IORING_REGISTER_PROBE),
XLAT_ARGS(IORING_OP_EPOLL_CTL), probe->ops_len, probe->resv2[1],
- XLAT_ARGS(IORING_OP_NOP), XLAT_ARGS(IORING_OP_LINKAT),
+ XLAT_ARGS(IORING_OP_NOP), XLAT_ARGS(IORING_OP_MSG_RING),
XLAT_ARGS(IO_URING_OP_SUPPORTED),
XLAT_ARGS(IO_URING_OP_SUPPORTED|0xbeee),
#if RETVAL_INJECTED
XLAT_ARGS(IORING_OP_EPOLL_CTL), probe->ops_len, probe->resv2[1],
- XLAT_ARGS(IORING_OP_NOP), XLAT_ARGS(IORING_OP_LINKAT),
+ XLAT_ARGS(IORING_OP_NOP), XLAT_ARGS(IORING_OP_MSG_RING),
XLAT_ARGS(IO_URING_OP_SUPPORTED),
XLAT_ARGS(IO_URING_OP_SUPPORTED|0xbeee),
#endif
errstr);
- probe->last_op = 40;
+ probe->last_op = 41;
probe->resv2[1] = 0;
fill_memory_ex(probe->ops, sizeof(probe->ops[0]) * (DEFAULT_STRLEN + 1),
0x40, 0x80);
@@ -392,7 +392,7 @@ main(void)
printf("io_uring_register(%u<%s>, " XLAT_FMT,
fd_null, path_null, XLAT_ARGS(IORING_REGISTER_PROBE));
for (size_t c = 0; c < 1 + RETVAL_INJECTED; c++) {
- printf("%s{last_op=40" NRAW(" /* IORING_OP_??? */")
+ printf("%s{last_op=41" NRAW(" /* IORING_OP_??? */")
", ops_len=%hhu, ops=[",
c ? " => " : ", ", probe->ops_len);
for (size_t i = 0; i < DEFAULT_STRLEN; i++) {
@@ -463,9 +463,9 @@ main(void)
{ ARG_STR(IORING_RESTRICTION_SQE_OP), true,
"sqe_op=", ARG_STR(IORING_OP_NOP), true },
{ ARG_STR(IORING_RESTRICTION_SQE_OP), true,
- "sqe_op=", ARG_STR(IORING_OP_LINKAT), true },
+ "sqe_op=", ARG_STR(IORING_OP_MSG_RING), true },
{ ARG_STR(IORING_RESTRICTION_SQE_OP), true,
- "sqe_op=", 40, " /* IORING_OP_??? */", false },
+ "sqe_op=", 41, " /* IORING_OP_??? */", false },
{ ARG_STR(IORING_RESTRICTION_SQE_OP), true,
"sqe_op=", 255, " /* IORING_OP_??? */", false },
{ ARG_STR(IORING_RESTRICTION_SQE_FLAGS_ALLOWED), true,
diff --git a/tests/io_uring_setup.c b/tests/io_uring_setup.c
index d66f9cfc8..53e3919d7 100644
--- a/tests/io_uring_setup.c
+++ b/tests/io_uring_setup.c
@@ -68,9 +68,9 @@ main(void)
printf("io_uring_setup(%u, {flags=IORING_SETUP_IOPOLL"
"|IORING_SETUP_SQPOLL|IORING_SETUP_SQ_AFF|IORING_SETUP_CQSIZE"
"|IORING_SETUP_CLAMP|IORING_SETUP_ATTACH_WQ"
- "|IORING_SETUP_R_DISABLED|%#x"
+ "|IORING_SETUP_R_DISABLED|IORING_SETUP_SUBMIT_ALL|%#x"
", sq_thread_cpu=%#x, sq_thread_idle=%u, wq_fd=%d, resv=[",
- 1, -1U - 127, params->sq_thread_cpu, params->sq_thread_idle,
+ 1, -1U - 255, params->sq_thread_cpu, params->sq_thread_idle,
params->wq_fd);
for (unsigned int i = 0; i < ARRAY_SIZE(params->resv); ++i)
printf("%s%#x", i != 0 ? ", " : "", params->resv[i]);