#ifndef _TRACE_BLOCK_H #define _TRACE_BLOCK_H #include <linux/blkdev.h> #include <linux/tracepoint.h> DECLARE_TRACE(block_rq_abort, TP_PROTO(struct request_queue *q, struct request *rq), TP_ARGS(q, rq)); DECLARE_TRACE(block_rq_insert, TP_PROTO(struct request_queue *q, struct request *rq), TP_ARGS(q, rq)); DECLARE_TRACE(block_rq_issue, TP_PROTO(struct request_queue *q, struct request *rq), TP_ARGS(q, rq)); DECLARE_TRACE(block_rq_requeue, TP_PROTO(struct request_queue *q, struct request *rq), TP_ARGS(q, rq)); DECLARE_TRACE(block_rq_complete, TP_PROTO(struct request_queue *q, struct request *rq), TP_ARGS(q, rq)); DECLARE_TRACE(block_bio_bounce, TP_PROTO(struct request_queue *q, struct bio *bio), TP_ARGS(q, bio)); DECLARE_TRACE(block_bio_complete, TP_PROTO(struct request_queue *q, struct bio *bio), TP_ARGS(q, bio)); DECLARE_TRACE(block_bio_backmerge, TP_PROTO(struct request_queue *q, struct bio *bio), TP_ARGS(q, bio)); DECLARE_TRACE(block_bio_frontmerge, TP_PROTO(struct request_queue *q, struct bio *bio), TP_ARGS(q, bio)); DECLARE_TRACE(block_bio_queue, TP_PROTO(struct request_queue *q, struct bio *bio), TP_ARGS(q, bio)); DECLARE_TRACE(block_getrq, TP_PROTO(struct request_queue *q, struct bio *bio, int rw), TP_ARGS(q, bio, rw)); DECLARE_TRACE(block_sleeprq, TP_PROTO(struct request_queue *q, struct bio *bio, int rw), TP_ARGS(q, bio, rw)); DECLARE_TRACE(block_plug, TP_PROTO(struct request_queue *q), TP_ARGS(q)); DECLARE_TRACE(block_unplug_timer, TP_PROTO(struct request_queue *q), TP_ARGS(q)); DECLARE_TRACE(block_unplug_io, TP_PROTO(struct request_queue *q), TP_ARGS(q)); DECLARE_TRACE(block_split, TP_PROTO(struct request_queue *q, struct bio *bio, unsigned int pdu), TP_ARGS(q, bio, pdu)); DECLARE_TRACE(block_remap, TP_PROTO(struct request_queue *q, struct bio *bio, dev_t dev, sector_t from, sector_t to), TP_ARGS(q, bio, dev, from, to)); #endif