ata: libata: add qc_prep tracepoint
authorHannes Reinecke <hare@suse.de>
Tue, 21 Dec 2021 07:20:30 +0000 (08:20 +0100)
committerDamien Le Moal <damien.lemoal@opensource.wdc.com>
Tue, 4 Jan 2022 11:01:01 +0000 (20:01 +0900)
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>
drivers/ata/libata-core.c
include/trace/events/libata.h

index c194633..846596f 100644 (file)
@@ -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;
index ec2a350..2394fc2 100644 (file)
@@ -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),