#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
#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