|
@@ -675,28 +675,33 @@ static void blk_add_trace_rq(struct request_queue *q, struct request *rq,
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-static void blk_add_trace_rq_abort(struct request_queue *q, struct request *rq)
|
|
|
+static void blk_add_trace_rq_abort(void *ignore,
|
|
|
+ struct request_queue *q, struct request *rq)
|
|
|
{
|
|
|
blk_add_trace_rq(q, rq, BLK_TA_ABORT);
|
|
|
}
|
|
|
|
|
|
-static void blk_add_trace_rq_insert(struct request_queue *q, struct request *rq)
|
|
|
+static void blk_add_trace_rq_insert(void *ignore,
|
|
|
+ struct request_queue *q, struct request *rq)
|
|
|
{
|
|
|
blk_add_trace_rq(q, rq, BLK_TA_INSERT);
|
|
|
}
|
|
|
|
|
|
-static void blk_add_trace_rq_issue(struct request_queue *q, struct request *rq)
|
|
|
+static void blk_add_trace_rq_issue(void *ignore,
|
|
|
+ struct request_queue *q, struct request *rq)
|
|
|
{
|
|
|
blk_add_trace_rq(q, rq, BLK_TA_ISSUE);
|
|
|
}
|
|
|
|
|
|
-static void blk_add_trace_rq_requeue(struct request_queue *q,
|
|
|
+static void blk_add_trace_rq_requeue(void *ignore,
|
|
|
+ struct request_queue *q,
|
|
|
struct request *rq)
|
|
|
{
|
|
|
blk_add_trace_rq(q, rq, BLK_TA_REQUEUE);
|
|
|
}
|
|
|
|
|
|
-static void blk_add_trace_rq_complete(struct request_queue *q,
|
|
|
+static void blk_add_trace_rq_complete(void *ignore,
|
|
|
+ struct request_queue *q,
|
|
|
struct request *rq)
|
|
|
{
|
|
|
blk_add_trace_rq(q, rq, BLK_TA_COMPLETE);
|
|
@@ -724,34 +729,40 @@ static void blk_add_trace_bio(struct request_queue *q, struct bio *bio,
|
|
|
!bio_flagged(bio, BIO_UPTODATE), 0, NULL);
|
|
|
}
|
|
|
|
|
|
-static void blk_add_trace_bio_bounce(struct request_queue *q, struct bio *bio)
|
|
|
+static void blk_add_trace_bio_bounce(void *ignore,
|
|
|
+ struct request_queue *q, struct bio *bio)
|
|
|
{
|
|
|
blk_add_trace_bio(q, bio, BLK_TA_BOUNCE);
|
|
|
}
|
|
|
|
|
|
-static void blk_add_trace_bio_complete(struct request_queue *q, struct bio *bio)
|
|
|
+static void blk_add_trace_bio_complete(void *ignore,
|
|
|
+ struct request_queue *q, struct bio *bio)
|
|
|
{
|
|
|
blk_add_trace_bio(q, bio, BLK_TA_COMPLETE);
|
|
|
}
|
|
|
|
|
|
-static void blk_add_trace_bio_backmerge(struct request_queue *q,
|
|
|
+static void blk_add_trace_bio_backmerge(void *ignore,
|
|
|
+ struct request_queue *q,
|
|
|
struct bio *bio)
|
|
|
{
|
|
|
blk_add_trace_bio(q, bio, BLK_TA_BACKMERGE);
|
|
|
}
|
|
|
|
|
|
-static void blk_add_trace_bio_frontmerge(struct request_queue *q,
|
|
|
+static void blk_add_trace_bio_frontmerge(void *ignore,
|
|
|
+ struct request_queue *q,
|
|
|
struct bio *bio)
|
|
|
{
|
|
|
blk_add_trace_bio(q, bio, BLK_TA_FRONTMERGE);
|
|
|
}
|
|
|
|
|
|
-static void blk_add_trace_bio_queue(struct request_queue *q, struct bio *bio)
|
|
|
+static void blk_add_trace_bio_queue(void *ignore,
|
|
|
+ struct request_queue *q, struct bio *bio)
|
|
|
{
|
|
|
blk_add_trace_bio(q, bio, BLK_TA_QUEUE);
|
|
|
}
|
|
|
|
|
|
-static void blk_add_trace_getrq(struct request_queue *q,
|
|
|
+static void blk_add_trace_getrq(void *ignore,
|
|
|
+ struct request_queue *q,
|
|
|
struct bio *bio, int rw)
|
|
|
{
|
|
|
if (bio)
|
|
@@ -765,7 +776,8 @@ static void blk_add_trace_getrq(struct request_queue *q,
|
|
|
}
|
|
|
|
|
|
|
|
|
-static void blk_add_trace_sleeprq(struct request_queue *q,
|
|
|
+static void blk_add_trace_sleeprq(void *ignore,
|
|
|
+ struct request_queue *q,
|
|
|
struct bio *bio, int rw)
|
|
|
{
|
|
|
if (bio)
|
|
@@ -779,7 +791,7 @@ static void blk_add_trace_sleeprq(struct request_queue *q,
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-static void blk_add_trace_plug(struct request_queue *q)
|
|
|
+static void blk_add_trace_plug(void *ignore, struct request_queue *q)
|
|
|
{
|
|
|
struct blk_trace *bt = q->blk_trace;
|
|
|
|
|
@@ -787,7 +799,7 @@ static void blk_add_trace_plug(struct request_queue *q)
|
|
|
__blk_add_trace(bt, 0, 0, 0, BLK_TA_PLUG, 0, 0, NULL);
|
|
|
}
|
|
|
|
|
|
-static void blk_add_trace_unplug_io(struct request_queue *q)
|
|
|
+static void blk_add_trace_unplug_io(void *ignore, struct request_queue *q)
|
|
|
{
|
|
|
struct blk_trace *bt = q->blk_trace;
|
|
|
|
|
@@ -800,7 +812,7 @@ static void blk_add_trace_unplug_io(struct request_queue *q)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-static void blk_add_trace_unplug_timer(struct request_queue *q)
|
|
|
+static void blk_add_trace_unplug_timer(void *ignore, struct request_queue *q)
|
|
|
{
|
|
|
struct blk_trace *bt = q->blk_trace;
|
|
|
|
|
@@ -813,7 +825,8 @@ static void blk_add_trace_unplug_timer(struct request_queue *q)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-static void blk_add_trace_split(struct request_queue *q, struct bio *bio,
|
|
|
+static void blk_add_trace_split(void *ignore,
|
|
|
+ struct request_queue *q, struct bio *bio,
|
|
|
unsigned int pdu)
|
|
|
{
|
|
|
struct blk_trace *bt = q->blk_trace;
|
|
@@ -839,8 +852,9 @@ static void blk_add_trace_split(struct request_queue *q, struct bio *bio,
|
|
|
* it spans a stripe (or similar). Add a trace for that action.
|
|
|
*
|
|
|
**/
|
|
|
-static void blk_add_trace_remap(struct request_queue *q, struct bio *bio,
|
|
|
- dev_t dev, sector_t from)
|
|
|
+static void blk_add_trace_remap(void *ignore,
|
|
|
+ struct request_queue *q, struct bio *bio,
|
|
|
+ dev_t dev, sector_t from)
|
|
|
{
|
|
|
struct blk_trace *bt = q->blk_trace;
|
|
|
struct blk_io_trace_remap r;
|
|
@@ -869,7 +883,8 @@ static void blk_add_trace_remap(struct request_queue *q, struct bio *bio,
|
|
|
* Add a trace for that action.
|
|
|
*
|
|
|
**/
|
|
|
-static void blk_add_trace_rq_remap(struct request_queue *q,
|
|
|
+static void blk_add_trace_rq_remap(void *ignore,
|
|
|
+ struct request_queue *q,
|
|
|
struct request *rq, dev_t dev,
|
|
|
sector_t from)
|
|
|
{
|
|
@@ -921,64 +936,64 @@ static void blk_register_tracepoints(void)
|
|
|
{
|
|
|
int ret;
|
|
|
|
|
|
- ret = register_trace_block_rq_abort(blk_add_trace_rq_abort);
|
|
|
+ ret = register_trace_block_rq_abort(blk_add_trace_rq_abort, NULL);
|
|
|
WARN_ON(ret);
|
|
|
- ret = register_trace_block_rq_insert(blk_add_trace_rq_insert);
|
|
|
+ ret = register_trace_block_rq_insert(blk_add_trace_rq_insert, NULL);
|
|
|
WARN_ON(ret);
|
|
|
- ret = register_trace_block_rq_issue(blk_add_trace_rq_issue);
|
|
|
+ ret = register_trace_block_rq_issue(blk_add_trace_rq_issue, NULL);
|
|
|
WARN_ON(ret);
|
|
|
- ret = register_trace_block_rq_requeue(blk_add_trace_rq_requeue);
|
|
|
+ ret = register_trace_block_rq_requeue(blk_add_trace_rq_requeue, NULL);
|
|
|
WARN_ON(ret);
|
|
|
- ret = register_trace_block_rq_complete(blk_add_trace_rq_complete);
|
|
|
+ ret = register_trace_block_rq_complete(blk_add_trace_rq_complete, NULL);
|
|
|
WARN_ON(ret);
|
|
|
- ret = register_trace_block_bio_bounce(blk_add_trace_bio_bounce);
|
|
|
+ ret = register_trace_block_bio_bounce(blk_add_trace_bio_bounce, NULL);
|
|
|
WARN_ON(ret);
|
|
|
- ret = register_trace_block_bio_complete(blk_add_trace_bio_complete);
|
|
|
+ ret = register_trace_block_bio_complete(blk_add_trace_bio_complete, NULL);
|
|
|
WARN_ON(ret);
|
|
|
- ret = register_trace_block_bio_backmerge(blk_add_trace_bio_backmerge);
|
|
|
+ ret = register_trace_block_bio_backmerge(blk_add_trace_bio_backmerge, NULL);
|
|
|
WARN_ON(ret);
|
|
|
- ret = register_trace_block_bio_frontmerge(blk_add_trace_bio_frontmerge);
|
|
|
+ ret = register_trace_block_bio_frontmerge(blk_add_trace_bio_frontmerge, NULL);
|
|
|
WARN_ON(ret);
|
|
|
- ret = register_trace_block_bio_queue(blk_add_trace_bio_queue);
|
|
|
+ ret = register_trace_block_bio_queue(blk_add_trace_bio_queue, NULL);
|
|
|
WARN_ON(ret);
|
|
|
- ret = register_trace_block_getrq(blk_add_trace_getrq);
|
|
|
+ ret = register_trace_block_getrq(blk_add_trace_getrq, NULL);
|
|
|
WARN_ON(ret);
|
|
|
- ret = register_trace_block_sleeprq(blk_add_trace_sleeprq);
|
|
|
+ ret = register_trace_block_sleeprq(blk_add_trace_sleeprq, NULL);
|
|
|
WARN_ON(ret);
|
|
|
- ret = register_trace_block_plug(blk_add_trace_plug);
|
|
|
+ ret = register_trace_block_plug(blk_add_trace_plug, NULL);
|
|
|
WARN_ON(ret);
|
|
|
- ret = register_trace_block_unplug_timer(blk_add_trace_unplug_timer);
|
|
|
+ ret = register_trace_block_unplug_timer(blk_add_trace_unplug_timer, NULL);
|
|
|
WARN_ON(ret);
|
|
|
- ret = register_trace_block_unplug_io(blk_add_trace_unplug_io);
|
|
|
+ ret = register_trace_block_unplug_io(blk_add_trace_unplug_io, NULL);
|
|
|
WARN_ON(ret);
|
|
|
- ret = register_trace_block_split(blk_add_trace_split);
|
|
|
+ ret = register_trace_block_split(blk_add_trace_split, NULL);
|
|
|
WARN_ON(ret);
|
|
|
- ret = register_trace_block_remap(blk_add_trace_remap);
|
|
|
+ ret = register_trace_block_remap(blk_add_trace_remap, NULL);
|
|
|
WARN_ON(ret);
|
|
|
- ret = register_trace_block_rq_remap(blk_add_trace_rq_remap);
|
|
|
+ ret = register_trace_block_rq_remap(blk_add_trace_rq_remap, NULL);
|
|
|
WARN_ON(ret);
|
|
|
}
|
|
|
|
|
|
static void blk_unregister_tracepoints(void)
|
|
|
{
|
|
|
- unregister_trace_block_rq_remap(blk_add_trace_rq_remap);
|
|
|
- unregister_trace_block_remap(blk_add_trace_remap);
|
|
|
- unregister_trace_block_split(blk_add_trace_split);
|
|
|
- unregister_trace_block_unplug_io(blk_add_trace_unplug_io);
|
|
|
- unregister_trace_block_unplug_timer(blk_add_trace_unplug_timer);
|
|
|
- unregister_trace_block_plug(blk_add_trace_plug);
|
|
|
- unregister_trace_block_sleeprq(blk_add_trace_sleeprq);
|
|
|
- unregister_trace_block_getrq(blk_add_trace_getrq);
|
|
|
- unregister_trace_block_bio_queue(blk_add_trace_bio_queue);
|
|
|
- unregister_trace_block_bio_frontmerge(blk_add_trace_bio_frontmerge);
|
|
|
- unregister_trace_block_bio_backmerge(blk_add_trace_bio_backmerge);
|
|
|
- unregister_trace_block_bio_complete(blk_add_trace_bio_complete);
|
|
|
- unregister_trace_block_bio_bounce(blk_add_trace_bio_bounce);
|
|
|
- unregister_trace_block_rq_complete(blk_add_trace_rq_complete);
|
|
|
- unregister_trace_block_rq_requeue(blk_add_trace_rq_requeue);
|
|
|
- unregister_trace_block_rq_issue(blk_add_trace_rq_issue);
|
|
|
- unregister_trace_block_rq_insert(blk_add_trace_rq_insert);
|
|
|
- unregister_trace_block_rq_abort(blk_add_trace_rq_abort);
|
|
|
+ unregister_trace_block_rq_remap(blk_add_trace_rq_remap, NULL);
|
|
|
+ unregister_trace_block_remap(blk_add_trace_remap, NULL);
|
|
|
+ unregister_trace_block_split(blk_add_trace_split, NULL);
|
|
|
+ unregister_trace_block_unplug_io(blk_add_trace_unplug_io, NULL);
|
|
|
+ unregister_trace_block_unplug_timer(blk_add_trace_unplug_timer, NULL);
|
|
|
+ unregister_trace_block_plug(blk_add_trace_plug, NULL);
|
|
|
+ unregister_trace_block_sleeprq(blk_add_trace_sleeprq, NULL);
|
|
|
+ unregister_trace_block_getrq(blk_add_trace_getrq, NULL);
|
|
|
+ unregister_trace_block_bio_queue(blk_add_trace_bio_queue, NULL);
|
|
|
+ unregister_trace_block_bio_frontmerge(blk_add_trace_bio_frontmerge, NULL);
|
|
|
+ unregister_trace_block_bio_backmerge(blk_add_trace_bio_backmerge, NULL);
|
|
|
+ unregister_trace_block_bio_complete(blk_add_trace_bio_complete, NULL);
|
|
|
+ unregister_trace_block_bio_bounce(blk_add_trace_bio_bounce, NULL);
|
|
|
+ unregister_trace_block_rq_complete(blk_add_trace_rq_complete, NULL);
|
|
|
+ unregister_trace_block_rq_requeue(blk_add_trace_rq_requeue, NULL);
|
|
|
+ unregister_trace_block_rq_issue(blk_add_trace_rq_issue, NULL);
|
|
|
+ unregister_trace_block_rq_insert(blk_add_trace_rq_insert, NULL);
|
|
|
+ unregister_trace_block_rq_abort(blk_add_trace_rq_abort, NULL);
|
|
|
|
|
|
tracepoint_synchronize_unregister();
|
|
|
}
|