Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>

authored by

Hannes Reinecke and committed by
Damien Le Moal
fc914faa f8ec26d0

+10 -1
+1
drivers/ata/libata-core.c
··· 4892 4892 return; 4893 4893 } 4894 4894 4895 + trace_ata_qc_prep(qc); 4895 4896 qc->err_mask |= ap->ops->qc_prep(qc); 4896 4897 if (unlikely(qc->err_mask)) 4897 4898 goto err;
+9 -1
include/trace/events/libata.h
··· 164 164 unsigned char, unsigned char); 165 165 #define __parse_subcmd(c,f,h) libata_trace_parse_subcmd(p, c, f, h) 166 166 167 - TRACE_EVENT(ata_qc_issue, 167 + DECLARE_EVENT_CLASS(ata_qc_issue_template, 168 168 169 169 TP_PROTO(struct ata_queued_cmd *qc), 170 170 ··· 222 222 __entry->hob_lbal, __entry->hob_lbam, __entry->hob_lbah, 223 223 __entry->dev) 224 224 ); 225 + 226 + DEFINE_EVENT(ata_qc_issue_template, ata_qc_prep, 227 + TP_PROTO(struct ata_queued_cmd *qc), 228 + TP_ARGS(qc)); 229 + 230 + DEFINE_EVENT(ata_qc_issue_template, ata_qc_issue, 231 + TP_PROTO(struct ata_queued_cmd *qc), 232 + TP_ARGS(qc)); 225 233 226 234 DECLARE_EVENT_CLASS(ata_qc_complete_template, 227 235