[PATCH] f2fs: adds a tracepoint for submit_read_page
From: Chao Yu
Date: Wed Nov 20 2013 - 03:40:10 EST
This patch adds a tracepoint for submit_read_page.
Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx>
[Jaegeuk Kim: integrate tracepoints of f2fs_submit_read(_write)_page]
Signed-off-by: Jaegeuk Kim <jaegeuk.kim@xxxxxxxxxxx>
---
fs/f2fs/data.c | 1 +
fs/f2fs/segment.c | 2 +-
include/trace/events/f2fs.h | 25 +++++++++++++++++++++----
3 files changed, 23 insertions(+), 5 deletions(-)
diff --git a/fs/f2fs/data.c b/fs/f2fs/data.c
index ce3cbd9..cdb342e 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 9607cc4..264a5ff 100644
--- a/fs/f2fs/segment.c
+++ b/fs/f2fs/segment.c
@@ -925,7 +925,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 47ee70d..73cc5f0 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),
--
1.8.4.474.g128a96c
--
Jaegeuk Kim
Samsung
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/