summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHannes Reinecke <hare@suse.de>2021-12-21 08:20:30 +0100
committerDamien Le Moal <damien.lemoal@opensource.wdc.com>2022-01-04 20:01:01 +0900
commitfc914faad67f237528739ec717222a560c97e723 (patch)
tree34a8aa320a40da4e86c744a84905fa526cd96f81
parentf8ec26d0f5bcdb864f771fb6d250d9ed3165eb61 (diff)
downloadlinux-stable-fc914faad67f237528739ec717222a560c97e723.tar.gz
linux-stable-fc914faad67f237528739ec717222a560c97e723.tar.bz2
linux-stable-fc914faad67f237528739ec717222a560c97e723.zip
ata: libata: add qc_prep tracepoint
Convert the existing ata_qc_issue() tracepoint into a template, and add tracepoints for ata_qc_prep() and ata_qc_issue() based on that template. Signed-off-by: Hannes Reinecke <hare@suse.de> Signed-off-by: Damien Le Moal <damien.lemoal@opensource.wdc.com>
-rw-r--r--drivers/ata/libata-core.c1
-rw-r--r--include/trace/events/libata.h10
2 files changed, 10 insertions, 1 deletions
diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
index c1946336f81e..846596fdd831 100644
--- a/drivers/ata/libata-core.c
+++ b/drivers/ata/libata-core.c
@@ -4892,6 +4892,7 @@ void ata_qc_issue(struct ata_queued_cmd *qc)
return;
}
+ trace_ata_qc_prep(qc);
qc->err_mask |= ap->ops->qc_prep(qc);
if (unlikely(qc->err_mask))
goto err;
diff --git a/include/trace/events/libata.h b/include/trace/events/libata.h
index ec2a350d1aca..2394fc2b2831 100644
--- a/include/trace/events/libata.h
+++ b/include/trace/events/libata.h
@@ -164,7 +164,7 @@ const char *libata_trace_parse_subcmd(struct trace_seq *, unsigned char,
unsigned char, unsigned char);
#define __parse_subcmd(c,f,h) libata_trace_parse_subcmd(p, c, f, h)
-TRACE_EVENT(ata_qc_issue,
+DECLARE_EVENT_CLASS(ata_qc_issue_template,
TP_PROTO(struct ata_queued_cmd *qc),
@@ -223,6 +223,14 @@ TRACE_EVENT(ata_qc_issue,
__entry->dev)
);
+DEFINE_EVENT(ata_qc_issue_template, ata_qc_prep,
+ TP_PROTO(struct ata_queued_cmd *qc),
+ TP_ARGS(qc));
+
+DEFINE_EVENT(ata_qc_issue_template, ata_qc_issue,
+ TP_PROTO(struct ata_queued_cmd *qc),
+ TP_ARGS(qc));
+
DECLARE_EVENT_CLASS(ata_qc_complete_template,
TP_PROTO(struct ata_queued_cmd *qc),