bcache: print number of keys in trace_bcache_journal_write
Sometimes flush journal may be very frequent, so it's useful to dump number of keys every time write journal. Signed-off-by: Guoju Fang <fangguoju@gmail.com> Signed-off-by: Coly Li <colyli@suse.de> Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
Родитель
cc38ca7ed5
Коммит
e78bd0d26f
|
@ -663,7 +663,7 @@ static void journal_write_unlocked(struct closure *cl)
|
|||
REQ_SYNC|REQ_META|REQ_PREFLUSH|REQ_FUA);
|
||||
bch_bio_map(bio, w->data);
|
||||
|
||||
trace_bcache_journal_write(bio);
|
||||
trace_bcache_journal_write(bio, w->data->keys);
|
||||
bio_list_add(&list, bio);
|
||||
|
||||
SET_PTR_OFFSET(k, i, PTR_OFFSET(k, i) + sectors);
|
||||
|
|
|
@ -221,9 +221,30 @@ DEFINE_EVENT(cache_set, bcache_journal_entry_full,
|
|||
TP_ARGS(c)
|
||||
);
|
||||
|
||||
DEFINE_EVENT(bcache_bio, bcache_journal_write,
|
||||
TP_PROTO(struct bio *bio),
|
||||
TP_ARGS(bio)
|
||||
TRACE_EVENT(bcache_journal_write,
|
||||
TP_PROTO(struct bio *bio, u32 keys),
|
||||
TP_ARGS(bio, keys),
|
||||
|
||||
TP_STRUCT__entry(
|
||||
__field(dev_t, dev )
|
||||
__field(sector_t, sector )
|
||||
__field(unsigned int, nr_sector )
|
||||
__array(char, rwbs, 6 )
|
||||
__field(u32, nr_keys )
|
||||
),
|
||||
|
||||
TP_fast_assign(
|
||||
__entry->dev = bio_dev(bio);
|
||||
__entry->sector = bio->bi_iter.bi_sector;
|
||||
__entry->nr_sector = bio->bi_iter.bi_size >> 9;
|
||||
__entry->nr_keys = keys;
|
||||
blk_fill_rwbs(__entry->rwbs, bio->bi_opf, bio->bi_iter.bi_size);
|
||||
),
|
||||
|
||||
TP_printk("%d,%d %s %llu + %u keys %u",
|
||||
MAJOR(__entry->dev), MINOR(__entry->dev), __entry->rwbs,
|
||||
(unsigned long long)__entry->sector, __entry->nr_sector,
|
||||
__entry->nr_keys)
|
||||
);
|
||||
|
||||
/* Btree */
|
||||
|
|
Загрузка…
Ссылка в новой задаче