ext4: indicate via a block bitmap read is prefetched via a tracepoint
Modify the ext4_read_block_bitmap_load tracepoint so that it tells us whether a block bitmap is being prefetched. Signed-off-by: Theodore Ts'o <tytso@mit.edu> Reviewed-by: Artem Blagodarenko <artem.blagodarenko@gmail.com>
This commit is contained in:
@@ -494,7 +494,7 @@ ext4_read_block_bitmap_nowait(struct super_block *sb, ext4_group_t block_group,
|
|||||||
* submit the buffer_head for reading
|
* submit the buffer_head for reading
|
||||||
*/
|
*/
|
||||||
set_buffer_new(bh);
|
set_buffer_new(bh);
|
||||||
trace_ext4_read_block_bitmap_load(sb, block_group);
|
trace_ext4_read_block_bitmap_load(sb, block_group, ignore_locked);
|
||||||
bh->b_end_io = ext4_end_bitmap_read;
|
bh->b_end_io = ext4_end_bitmap_read;
|
||||||
get_bh(bh);
|
get_bh(bh);
|
||||||
submit_bh(REQ_OP_READ, REQ_META | REQ_PRIO |
|
submit_bh(REQ_OP_READ, REQ_META | REQ_PRIO |
|
||||||
|
|||||||
@@ -1312,18 +1312,34 @@ DEFINE_EVENT(ext4__bitmap_load, ext4_mb_buddy_bitmap_load,
|
|||||||
TP_ARGS(sb, group)
|
TP_ARGS(sb, group)
|
||||||
);
|
);
|
||||||
|
|
||||||
DEFINE_EVENT(ext4__bitmap_load, ext4_read_block_bitmap_load,
|
DEFINE_EVENT(ext4__bitmap_load, ext4_load_inode_bitmap,
|
||||||
|
|
||||||
TP_PROTO(struct super_block *sb, unsigned long group),
|
TP_PROTO(struct super_block *sb, unsigned long group),
|
||||||
|
|
||||||
TP_ARGS(sb, group)
|
TP_ARGS(sb, group)
|
||||||
);
|
);
|
||||||
|
|
||||||
DEFINE_EVENT(ext4__bitmap_load, ext4_load_inode_bitmap,
|
TRACE_EVENT(ext4_read_block_bitmap_load,
|
||||||
|
TP_PROTO(struct super_block *sb, unsigned long group, bool prefetch),
|
||||||
|
|
||||||
TP_PROTO(struct super_block *sb, unsigned long group),
|
TP_ARGS(sb, group, prefetch),
|
||||||
|
|
||||||
TP_ARGS(sb, group)
|
TP_STRUCT__entry(
|
||||||
|
__field( dev_t, dev )
|
||||||
|
__field( __u32, group )
|
||||||
|
__field( bool, prefetch )
|
||||||
|
|
||||||
|
),
|
||||||
|
|
||||||
|
TP_fast_assign(
|
||||||
|
__entry->dev = sb->s_dev;
|
||||||
|
__entry->group = group;
|
||||||
|
__entry->prefetch = prefetch;
|
||||||
|
),
|
||||||
|
|
||||||
|
TP_printk("dev %d,%d group %u prefetch %d",
|
||||||
|
MAJOR(__entry->dev), MINOR(__entry->dev),
|
||||||
|
__entry->group, __entry->prefetch)
|
||||||
);
|
);
|
||||||
|
|
||||||
TRACE_EVENT(ext4_direct_IO_enter,
|
TRACE_EVENT(ext4_direct_IO_enter,
|
||||||
|
|||||||
Reference in New Issue
Block a user