diff options
author | Eugene Syromyatnikov <evgsyr@gmail.com> | 2022-05-02 04:02:13 +0200 |
---|---|---|
committer | Dmitry V. Levin <ldv@strace.io> | 2022-05-02 02:02:13 +0000 |
commit | 6f530c8848d03764f0aa440869a53144dda0909f (patch) | |
tree | f849fa74ea2701768621700edbeb3903ac5ff3df | |
parent | db211a06d1e028173a3fc0a0f715c91ccbd97d8a (diff) | |
download | strace-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-- | NEWS | 3 | ||||
-rw-r--r-- | src/xlat/uring_enter_flags.in | 1 | ||||
-rw-r--r-- | src/xlat/uring_ops.in | 1 | ||||
-rw-r--r-- | src/xlat/uring_setup_features.in | 1 | ||||
-rw-r--r-- | src/xlat/uring_setup_flags.in | 1 | ||||
-rw-r--r-- | tests/io_uring_enter.c | 5 | ||||
-rw-r--r-- | tests/io_uring_register.c | 20 | ||||
-rw-r--r-- | tests/io_uring_setup.c | 4 |
8 files changed, 21 insertions, 15 deletions
@@ -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]); |