aboutsummaryrefslogtreecommitdiffstats
path: root/include/trace
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2016-10-28 10:48:16 -0400
committerJens Axboe <axboe@fb.com>2016-10-28 10:48:16 -0400
commitef295ecf090d3e86e5b742fc6ab34f1122a43773 (patch)
treee52e8be789b5654dfc43f626c50261f80615c03f /include/trace
parente806402130c9c494e22c73ae9ead4e79d2a5811c (diff)
block: better op and flags encoding
Now that we don't need the common flags to overflow outside the range of a 32-bit type we can encode them the same way for both the bio and request fields. This in addition allows us to place the operation first (and make some room for more ops while we're at it) and to stop having to shift around the operation values. In addition this allows passing around only one value in the block layer instead of two (and eventuall also in the file systems, but we can do that later) and thus clean up a lot of code. Last but not least this allows decreasing the size of the cmd_flags field in struct request to 32-bits. Various functions passing this value could also be updated, but I'd like to avoid the churn for now. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Jens Axboe <axboe@fb.com>
Diffstat (limited to 'include/trace')
-rw-r--r--include/trace/events/bcache.h12
-rw-r--r--include/trace/events/block.h31
2 files changed, 15 insertions, 28 deletions
diff --git a/include/trace/events/bcache.h b/include/trace/events/bcache.h
index d336b890e31f..df3e9ae5ad8d 100644
--- a/include/trace/events/bcache.h
+++ b/include/trace/events/bcache.h
@@ -27,8 +27,7 @@ DECLARE_EVENT_CLASS(bcache_request,
27 __entry->sector = bio->bi_iter.bi_sector; 27 __entry->sector = bio->bi_iter.bi_sector;
28 __entry->orig_sector = bio->bi_iter.bi_sector - 16; 28 __entry->orig_sector = bio->bi_iter.bi_sector - 16;
29 __entry->nr_sector = bio->bi_iter.bi_size >> 9; 29 __entry->nr_sector = bio->bi_iter.bi_size >> 9;
30 blk_fill_rwbs(__entry->rwbs, bio_op(bio), bio->bi_opf, 30 blk_fill_rwbs(__entry->rwbs, bio->bi_opf, bio->bi_iter.bi_size);
31 bio->bi_iter.bi_size);
32 ), 31 ),
33 32
34 TP_printk("%d,%d %s %llu + %u (from %d,%d @ %llu)", 33 TP_printk("%d,%d %s %llu + %u (from %d,%d @ %llu)",
@@ -102,8 +101,7 @@ DECLARE_EVENT_CLASS(bcache_bio,
102 __entry->dev = bio->bi_bdev->bd_dev; 101 __entry->dev = bio->bi_bdev->bd_dev;
103 __entry->sector = bio->bi_iter.bi_sector; 102 __entry->sector = bio->bi_iter.bi_sector;
104 __entry->nr_sector = bio->bi_iter.bi_size >> 9; 103 __entry->nr_sector = bio->bi_iter.bi_size >> 9;
105 blk_fill_rwbs(__entry->rwbs, bio_op(bio), bio->bi_opf, 104 blk_fill_rwbs(__entry->rwbs, bio->bi_opf, bio->bi_iter.bi_size);
106 bio->bi_iter.bi_size);
107 ), 105 ),
108 106
109 TP_printk("%d,%d %s %llu + %u", 107 TP_printk("%d,%d %s %llu + %u",
@@ -138,8 +136,7 @@ TRACE_EVENT(bcache_read,
138 __entry->dev = bio->bi_bdev->bd_dev; 136 __entry->dev = bio->bi_bdev->bd_dev;
139 __entry->sector = bio->bi_iter.bi_sector; 137 __entry->sector = bio->bi_iter.bi_sector;
140 __entry->nr_sector = bio->bi_iter.bi_size >> 9; 138 __entry->nr_sector = bio->bi_iter.bi_size >> 9;
141 blk_fill_rwbs(__entry->rwbs, bio_op(bio), bio->bi_opf, 139 blk_fill_rwbs(__entry->rwbs, bio->bi_opf, bio->bi_iter.bi_size);
142 bio->bi_iter.bi_size);
143 __entry->cache_hit = hit; 140 __entry->cache_hit = hit;
144 __entry->bypass = bypass; 141 __entry->bypass = bypass;
145 ), 142 ),
@@ -170,8 +167,7 @@ TRACE_EVENT(bcache_write,
170 __entry->inode = inode; 167 __entry->inode = inode;
171 __entry->sector = bio->bi_iter.bi_sector; 168 __entry->sector = bio->bi_iter.bi_sector;
172 __entry->nr_sector = bio->bi_iter.bi_size >> 9; 169 __entry->nr_sector = bio->bi_iter.bi_size >> 9;
173 blk_fill_rwbs(__entry->rwbs, bio_op(bio), bio->bi_opf, 170 blk_fill_rwbs(__entry->rwbs, bio->bi_opf, bio->bi_iter.bi_size);
174 bio->bi_iter.bi_size);
175 __entry->writeback = writeback; 171 __entry->writeback = writeback;
176 __entry->bypass = bypass; 172 __entry->bypass = bypass;
177 ), 173 ),
diff --git a/include/trace/events/block.h b/include/trace/events/block.h
index 8f3a163b8166..3e02e3a25413 100644
--- a/include/trace/events/block.h
+++ b/include/trace/events/block.h
@@ -84,8 +84,7 @@ DECLARE_EVENT_CLASS(block_rq_with_error,
84 0 : blk_rq_sectors(rq); 84 0 : blk_rq_sectors(rq);
85 __entry->errors = rq->errors; 85 __entry->errors = rq->errors;
86 86
87 blk_fill_rwbs(__entry->rwbs, req_op(rq), rq->cmd_flags, 87 blk_fill_rwbs(__entry->rwbs, rq->cmd_flags, blk_rq_bytes(rq));
88 blk_rq_bytes(rq));
89 blk_dump_cmd(__get_str(cmd), rq); 88 blk_dump_cmd(__get_str(cmd), rq);
90 ), 89 ),
91 90
@@ -163,7 +162,7 @@ TRACE_EVENT(block_rq_complete,
163 __entry->nr_sector = nr_bytes >> 9; 162 __entry->nr_sector = nr_bytes >> 9;
164 __entry->errors = rq->errors; 163 __entry->errors = rq->errors;
165 164
166 blk_fill_rwbs(__entry->rwbs, req_op(rq), rq->cmd_flags, nr_bytes); 165 blk_fill_rwbs(__entry->rwbs, rq->cmd_flags, nr_bytes);
167 blk_dump_cmd(__get_str(cmd), rq); 166 blk_dump_cmd(__get_str(cmd), rq);
168 ), 167 ),
169 168
@@ -199,8 +198,7 @@ DECLARE_EVENT_CLASS(block_rq,
199 __entry->bytes = (rq->cmd_type == REQ_TYPE_BLOCK_PC) ? 198 __entry->bytes = (rq->cmd_type == REQ_TYPE_BLOCK_PC) ?
200 blk_rq_bytes(rq) : 0; 199 blk_rq_bytes(rq) : 0;
201 200
202 blk_fill_rwbs(__entry->rwbs, req_op(rq), rq->cmd_flags, 201 blk_fill_rwbs(__entry->rwbs, rq->cmd_flags, blk_rq_bytes(rq));
203 blk_rq_bytes(rq));
204 blk_dump_cmd(__get_str(cmd), rq); 202 blk_dump_cmd(__get_str(cmd), rq);
205 memcpy(__entry->comm, current->comm, TASK_COMM_LEN); 203 memcpy(__entry->comm, current->comm, TASK_COMM_LEN);
206 ), 204 ),
@@ -274,8 +272,7 @@ TRACE_EVENT(block_bio_bounce,
274 bio->bi_bdev->bd_dev : 0; 272 bio->bi_bdev->bd_dev : 0;
275 __entry->sector = bio->bi_iter.bi_sector; 273 __entry->sector = bio->bi_iter.bi_sector;
276 __entry->nr_sector = bio_sectors(bio); 274 __entry->nr_sector = bio_sectors(bio);
277 blk_fill_rwbs(__entry->rwbs, bio_op(bio), bio->bi_opf, 275 blk_fill_rwbs(__entry->rwbs, bio->bi_opf, bio->bi_iter.bi_size);
278 bio->bi_iter.bi_size);
279 memcpy(__entry->comm, current->comm, TASK_COMM_LEN); 276 memcpy(__entry->comm, current->comm, TASK_COMM_LEN);
280 ), 277 ),
281 278
@@ -313,8 +310,7 @@ TRACE_EVENT(block_bio_complete,
313 __entry->sector = bio->bi_iter.bi_sector; 310 __entry->sector = bio->bi_iter.bi_sector;
314 __entry->nr_sector = bio_sectors(bio); 311 __entry->nr_sector = bio_sectors(bio);
315 __entry->error = error; 312 __entry->error = error;
316 blk_fill_rwbs(__entry->rwbs, bio_op(bio), bio->bi_opf, 313 blk_fill_rwbs(__entry->rwbs, bio->bi_opf, bio->bi_iter.bi_size);
317 bio->bi_iter.bi_size);
318 ), 314 ),
319 315
320 TP_printk("%d,%d %s %llu + %u [%d]", 316 TP_printk("%d,%d %s %llu + %u [%d]",
@@ -341,8 +337,7 @@ DECLARE_EVENT_CLASS(block_bio_merge,
341 __entry->dev = bio->bi_bdev->bd_dev; 337 __entry->dev = bio->bi_bdev->bd_dev;
342 __entry->sector = bio->bi_iter.bi_sector; 338 __entry->sector = bio->bi_iter.bi_sector;
343 __entry->nr_sector = bio_sectors(bio); 339 __entry->nr_sector = bio_sectors(bio);
344 blk_fill_rwbs(__entry->rwbs, bio_op(bio), bio->bi_opf, 340 blk_fill_rwbs(__entry->rwbs, bio->bi_opf, bio->bi_iter.bi_size);
345 bio->bi_iter.bi_size);
346 memcpy(__entry->comm, current->comm, TASK_COMM_LEN); 341 memcpy(__entry->comm, current->comm, TASK_COMM_LEN);
347 ), 342 ),
348 343
@@ -409,8 +404,7 @@ TRACE_EVENT(block_bio_queue,
409 __entry->dev = bio->bi_bdev->bd_dev; 404 __entry->dev = bio->bi_bdev->bd_dev;
410 __entry->sector = bio->bi_iter.bi_sector; 405 __entry->sector = bio->bi_iter.bi_sector;
411 __entry->nr_sector = bio_sectors(bio); 406 __entry->nr_sector = bio_sectors(bio);
412 blk_fill_rwbs(__entry->rwbs, bio_op(bio), bio->bi_opf, 407 blk_fill_rwbs(__entry->rwbs, bio->bi_opf, bio->bi_iter.bi_size);
413 bio->bi_iter.bi_size);
414 memcpy(__entry->comm, current->comm, TASK_COMM_LEN); 408 memcpy(__entry->comm, current->comm, TASK_COMM_LEN);
415 ), 409 ),
416 410
@@ -438,7 +432,7 @@ DECLARE_EVENT_CLASS(block_get_rq,
438 __entry->dev = bio ? bio->bi_bdev->bd_dev : 0; 432 __entry->dev = bio ? bio->bi_bdev->bd_dev : 0;
439 __entry->sector = bio ? bio->bi_iter.bi_sector : 0; 433 __entry->sector = bio ? bio->bi_iter.bi_sector : 0;
440 __entry->nr_sector = bio ? bio_sectors(bio) : 0; 434 __entry->nr_sector = bio ? bio_sectors(bio) : 0;
441 blk_fill_rwbs(__entry->rwbs, bio ? bio_op(bio) : 0, 435 blk_fill_rwbs(__entry->rwbs,
442 bio ? bio->bi_opf : 0, __entry->nr_sector); 436 bio ? bio->bi_opf : 0, __entry->nr_sector);
443 memcpy(__entry->comm, current->comm, TASK_COMM_LEN); 437 memcpy(__entry->comm, current->comm, TASK_COMM_LEN);
444 ), 438 ),
@@ -573,8 +567,7 @@ TRACE_EVENT(block_split,
573 __entry->dev = bio->bi_bdev->bd_dev; 567 __entry->dev = bio->bi_bdev->bd_dev;
574 __entry->sector = bio->bi_iter.bi_sector; 568 __entry->sector = bio->bi_iter.bi_sector;
575 __entry->new_sector = new_sector; 569 __entry->new_sector = new_sector;
576 blk_fill_rwbs(__entry->rwbs, bio_op(bio), bio->bi_opf, 570 blk_fill_rwbs(__entry->rwbs, bio->bi_opf, bio->bi_iter.bi_size);
577 bio->bi_iter.bi_size);
578 memcpy(__entry->comm, current->comm, TASK_COMM_LEN); 571 memcpy(__entry->comm, current->comm, TASK_COMM_LEN);
579 ), 572 ),
580 573
@@ -617,8 +610,7 @@ TRACE_EVENT(block_bio_remap,
617 __entry->nr_sector = bio_sectors(bio); 610 __entry->nr_sector = bio_sectors(bio);
618 __entry->old_dev = dev; 611 __entry->old_dev = dev;
619 __entry->old_sector = from; 612 __entry->old_sector = from;
620 blk_fill_rwbs(__entry->rwbs, bio_op(bio), bio->bi_opf, 613 blk_fill_rwbs(__entry->rwbs, bio->bi_opf, bio->bi_iter.bi_size);
621 bio->bi_iter.bi_size);
622 ), 614 ),
623 615
624 TP_printk("%d,%d %s %llu + %u <- (%d,%d) %llu", 616 TP_printk("%d,%d %s %llu + %u <- (%d,%d) %llu",
@@ -664,8 +656,7 @@ TRACE_EVENT(block_rq_remap,
664 __entry->old_dev = dev; 656 __entry->old_dev = dev;
665 __entry->old_sector = from; 657 __entry->old_sector = from;
666 __entry->nr_bios = blk_rq_count_bios(rq); 658 __entry->nr_bios = blk_rq_count_bios(rq);
667 blk_fill_rwbs(__entry->rwbs, req_op(rq), rq->cmd_flags, 659 blk_fill_rwbs(__entry->rwbs, rq->cmd_flags, blk_rq_bytes(rq));
668 blk_rq_bytes(rq));
669 ), 660 ),
670 661
671 TP_printk("%d,%d %s %llu + %u <- (%d,%d) %llu %u", 662 TP_printk("%d,%d %s %llu + %u <- (%d,%d) %llu %u",