summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--fs/f2fs/data.c1
-rw-r--r--fs/f2fs/segment.c2
-rw-r--r--include/trace/events/f2fs.h25
3 files changed, 23 insertions, 5 deletions
diff --git a/fs/f2fs/data.c b/fs/f2fs/data.c
index ce3cbd92585e..cdb342eeb421 100644
--- a/fs/f2fs/data.c
+++ b/fs/f2fs/data.c
@@ -462,6 +462,7 @@ alloc_new:
io->last_block_in_bio = blk_addr;
mutex_unlock(&io->io_mutex);
+ trace_f2fs_submit_read_page(page, rw, META, blk_addr);
}
/*
diff --git a/fs/f2fs/segment.c b/fs/f2fs/segment.c
index 38c1a89f54cc..d42426dc3706 100644
--- a/fs/f2fs/segment.c
+++ b/fs/f2fs/segment.c
@@ -923,7 +923,7 @@ retry:
io->last_block_in_bio = blk_addr;
mutex_unlock(&io->io_mutex);
- trace_f2fs_submit_write_page(page, blk_addr, type);
+ trace_f2fs_submit_write_page(page, WRITE, type, blk_addr);
}
void f2fs_wait_on_page_writeback(struct page *page,
diff --git a/include/trace/events/f2fs.h b/include/trace/events/f2fs.h
index 47ee70de7fed..73cc5f07d1ba 100644
--- a/include/trace/events/f2fs.h
+++ b/include/trace/events/f2fs.h
@@ -674,15 +674,16 @@ DEFINE_EVENT(f2fs__page, f2fs_vm_page_mkwrite,
TP_ARGS(page, type)
);
-TRACE_EVENT(f2fs_submit_write_page,
+DECLARE_EVENT_CLASS(f2fs_io_page,
- TP_PROTO(struct page *page, block_t blk_addr, int type),
+ TP_PROTO(struct page *page, int rw, int type, block_t blk_addr),
- TP_ARGS(page, blk_addr, type),
+ TP_ARGS(page, rw, type, blk_addr),
TP_STRUCT__entry(
__field(dev_t, dev)
__field(ino_t, ino)
+ __field(int, rw)
__field(int, type)
__field(pgoff_t, index)
__field(block_t, block)
@@ -691,18 +692,34 @@ TRACE_EVENT(f2fs_submit_write_page,
TP_fast_assign(
__entry->dev = page->mapping->host->i_sb->s_dev;
__entry->ino = page->mapping->host->i_ino;
+ __entry->rw = rw;
__entry->type = type;
__entry->index = page->index;
__entry->block = blk_addr;
),
- TP_printk("dev = (%d,%d), ino = %lu, %s, index = %lu, blkaddr = 0x%llx",
+ TP_printk("dev = (%d,%d), ino = %lu, %s, %s, index = %lu, blkaddr = 0x%llx",
show_dev_ino(__entry),
+ show_bio_type(__entry->rw),
show_block_type(__entry->type),
(unsigned long)__entry->index,
(unsigned long long)__entry->block)
);
+DEFINE_EVENT(f2fs_io_page, f2fs_submit_write_page,
+
+ TP_PROTO(struct page *page, int rw, int type, block_t blk_addr),
+
+ TP_ARGS(page, rw, type, blk_addr)
+);
+
+DEFINE_EVENT(f2fs_io_page, f2fs_submit_read_page,
+
+ TP_PROTO(struct page *page, int rw, int type, block_t blk_addr),
+
+ TP_ARGS(page, rw, type, blk_addr)
+);
+
TRACE_EVENT(f2fs_write_checkpoint,
TP_PROTO(struct super_block *sb, bool is_umount, char *msg),
OpenPOWER on IntegriCloud