blktrace.c (a02056349cdea2252cd2b21643ebf025e83a29f2) blktrace.c (d07335e51df0c6dec202d315fc4f1f7e100eec4e)
1/*
2 * Copyright (C) 2006 Jens Axboe <axboe@kernel.dk>
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 as
6 * published by the Free Software Foundation.
7 *
8 * This program is distributed in the hope that it will be useful,

--- 873 unchanged lines hidden (view full) ---

882
883 __blk_add_trace(bt, bio->bi_sector, bio->bi_size, bio->bi_rw,
884 BLK_TA_SPLIT, !bio_flagged(bio, BIO_UPTODATE),
885 sizeof(rpdu), &rpdu);
886 }
887}
888
889/**
1/*
2 * Copyright (C) 2006 Jens Axboe <axboe@kernel.dk>
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 as
6 * published by the Free Software Foundation.
7 *
8 * This program is distributed in the hope that it will be useful,

--- 873 unchanged lines hidden (view full) ---

882
883 __blk_add_trace(bt, bio->bi_sector, bio->bi_size, bio->bi_rw,
884 BLK_TA_SPLIT, !bio_flagged(bio, BIO_UPTODATE),
885 sizeof(rpdu), &rpdu);
886 }
887}
888
889/**
890 * blk_add_trace_remap - Add a trace for a remap operation
890 * blk_add_trace_bio_remap - Add a trace for a bio-remap operation
891 * @ignore: trace callback data parameter (not used)
892 * @q: queue the io is for
893 * @bio: the source bio
894 * @dev: target device
895 * @from: source sector
896 *
897 * Description:
898 * Device mapper or raid target sometimes need to split a bio because
899 * it spans a stripe (or similar). Add a trace for that action.
900 *
901 **/
891 * @ignore: trace callback data parameter (not used)
892 * @q: queue the io is for
893 * @bio: the source bio
894 * @dev: target device
895 * @from: source sector
896 *
897 * Description:
898 * Device mapper or raid target sometimes need to split a bio because
899 * it spans a stripe (or similar). Add a trace for that action.
900 *
901 **/
902static void blk_add_trace_remap(void *ignore,
903 struct request_queue *q, struct bio *bio,
904 dev_t dev, sector_t from)
902static void blk_add_trace_bio_remap(void *ignore,
903 struct request_queue *q, struct bio *bio,
904 dev_t dev, sector_t from)
905{
906 struct blk_trace *bt = q->blk_trace;
907 struct blk_io_trace_remap r;
908
909 if (likely(!bt))
910 return;
911
912 r.device_from = cpu_to_be32(dev);

--- 98 unchanged lines hidden (view full) ---

1011 ret = register_trace_block_plug(blk_add_trace_plug, NULL);
1012 WARN_ON(ret);
1013 ret = register_trace_block_unplug_timer(blk_add_trace_unplug_timer, NULL);
1014 WARN_ON(ret);
1015 ret = register_trace_block_unplug_io(blk_add_trace_unplug_io, NULL);
1016 WARN_ON(ret);
1017 ret = register_trace_block_split(blk_add_trace_split, NULL);
1018 WARN_ON(ret);
905{
906 struct blk_trace *bt = q->blk_trace;
907 struct blk_io_trace_remap r;
908
909 if (likely(!bt))
910 return;
911
912 r.device_from = cpu_to_be32(dev);

--- 98 unchanged lines hidden (view full) ---

1011 ret = register_trace_block_plug(blk_add_trace_plug, NULL);
1012 WARN_ON(ret);
1013 ret = register_trace_block_unplug_timer(blk_add_trace_unplug_timer, NULL);
1014 WARN_ON(ret);
1015 ret = register_trace_block_unplug_io(blk_add_trace_unplug_io, NULL);
1016 WARN_ON(ret);
1017 ret = register_trace_block_split(blk_add_trace_split, NULL);
1018 WARN_ON(ret);
1019 ret = register_trace_block_remap(blk_add_trace_remap, NULL);
1019 ret = register_trace_block_bio_remap(blk_add_trace_bio_remap, NULL);
1020 WARN_ON(ret);
1021 ret = register_trace_block_rq_remap(blk_add_trace_rq_remap, NULL);
1022 WARN_ON(ret);
1023}
1024
1025static void blk_unregister_tracepoints(void)
1026{
1027 unregister_trace_block_rq_remap(blk_add_trace_rq_remap, NULL);
1020 WARN_ON(ret);
1021 ret = register_trace_block_rq_remap(blk_add_trace_rq_remap, NULL);
1022 WARN_ON(ret);
1023}
1024
1025static void blk_unregister_tracepoints(void)
1026{
1027 unregister_trace_block_rq_remap(blk_add_trace_rq_remap, NULL);
1028 unregister_trace_block_remap(blk_add_trace_remap, NULL);
1028 unregister_trace_block_bio_remap(blk_add_trace_bio_remap, NULL);
1029 unregister_trace_block_split(blk_add_trace_split, NULL);
1030 unregister_trace_block_unplug_io(blk_add_trace_unplug_io, NULL);
1031 unregister_trace_block_unplug_timer(blk_add_trace_unplug_timer, NULL);
1032 unregister_trace_block_plug(blk_add_trace_plug, NULL);
1033 unregister_trace_block_sleeprq(blk_add_trace_sleeprq, NULL);
1034 unregister_trace_block_getrq(blk_add_trace_getrq, NULL);
1035 unregister_trace_block_bio_queue(blk_add_trace_bio_queue, NULL);
1036 unregister_trace_block_bio_frontmerge(blk_add_trace_bio_frontmerge, NULL);

--- 799 unchanged lines hidden ---
1029 unregister_trace_block_split(blk_add_trace_split, NULL);
1030 unregister_trace_block_unplug_io(blk_add_trace_unplug_io, NULL);
1031 unregister_trace_block_unplug_timer(blk_add_trace_unplug_timer, NULL);
1032 unregister_trace_block_plug(blk_add_trace_plug, NULL);
1033 unregister_trace_block_sleeprq(blk_add_trace_sleeprq, NULL);
1034 unregister_trace_block_getrq(blk_add_trace_getrq, NULL);
1035 unregister_trace_block_bio_queue(blk_add_trace_bio_queue, NULL);
1036 unregister_trace_block_bio_frontmerge(blk_add_trace_bio_frontmerge, NULL);

--- 799 unchanged lines hidden ---