[PATCH blktests v2 4/6] nvme/rc: add helpers to count the commands on a queue
Daniel Wagner
dwagner at suse.de
Wed Nov 4 06:25:16 PST 2026
Tests for the queue mapping need to know which I/O queue the commands of
a CPU are sent on. Add helpers which trace the nvme_setup_cmd event for
one queue of a controller and count the commands.
Signed-off-by: Daniel Wagner <dwagner at suse.de>
---
tests/nvme/rc | 33 +++++++++++++++++++++++++++++++++
1 file changed, 33 insertions(+)
diff --git a/tests/nvme/rc b/tests/nvme/rc
index 8abd14eeb112..ea4cd500af9a 100644
--- a/tests/nvme/rc
+++ b/tests/nvme/rc
@@ -640,3 +640,36 @@ _nvme_ctrl_tls_key() {
cat /sys/class/nvme/"$ctrl"/tls_key 2>/dev/null
}
+
+# Check that the trace instance $1 has the nvme_setup_cmd event.
+_nvme_have_setup_cmd_event() {
+ local trace_dir="$1"
+
+ if [[ ! -d "${trace_dir}/events/nvme/nvme_setup_cmd" ]]; then
+ SKIP_REASONS+=("tracepoint nvme/nvme_setup_cmd does not exist")
+ return 1
+ fi
+ return 0
+}
+
+# Start tracing the commands sent on queue $3 of controller $2 in the trace
+# instance $1.
+_nvme_trace_qid_start() {
+ local trace_dir="$1"
+ local ctrl_id="$2"
+ local qid="$3"
+ local event="${trace_dir}/events/nvme/nvme_setup_cmd"
+
+ _set_attr "" "${trace_dir}/trace"
+ _set_attr "ctrl_id == ${ctrl_id} && qid == ${qid}" "${event}/filter"
+ _set_attr 1 "${event}/enable"
+}
+
+# Stop tracing in the trace instance $1 and print the number of traced
+# commands.
+_nvme_trace_qid_stop() {
+ local trace_dir="$1"
+
+ _set_attr 0 "${trace_dir}/events/nvme/nvme_setup_cmd/enable"
+ grep -c "nvme_setup_cmd:" "${trace_dir}/trace"
+}
--
2.56.0
More information about the Linux-nvme
mailing list