summaryrefslogtreecommitdiff
path: root/include/trace
diff options
context:
space:
mode:
authorJaegeuk Kim <jaegeuk.kim@samsung.com>2013-11-30 12:51:14 +0900
committerJaegeuk Kim <jaegeuk.kim@samsung.com>2013-12-23 10:18:05 +0900
commit93dfe2ac516250755f7d5edd438b0ce67c0e3aa6 (patch)
tree66a4821769e2feb60de4265b8b9d7b03706d544d /include/trace
parent187b5b8b3dfcfc73126f2743c89cc47df3bf07be (diff)
downloadlwn-93dfe2ac516250755f7d5edd438b0ce67c0e3aa6.tar.gz
lwn-93dfe2ac516250755f7d5edd438b0ce67c0e3aa6.zip
f2fs: refactor bio-related operations
This patch integrates redundant bio operations on read and write IOs. 1. Move bio-related codes to the top of data.c. 2. Replace f2fs_submit_bio with f2fs_submit_merged_bio, which handles read bios additionally. 3. Introduce __submit_merged_bio to submit the merged bio. 4. Change f2fs_readpage to f2fs_submit_page_bio. 5. Introduce f2fs_submit_page_mbio to integrate previous submit_read_page and submit_write_page. Reviewed-by: Gu Zheng <guz.fnst@cn.fujitsu.com> Reviewed-by: Chao Yu <chao2.yu@samsung.com > Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
Diffstat (limited to 'include/trace')
-rw-r--r--include/trace/events/f2fs.h30
1 files changed, 10 insertions, 20 deletions
diff --git a/include/trace/events/f2fs.h b/include/trace/events/f2fs.h
index 204fcc3201b1..3b9f28dfc849 100644
--- a/include/trace/events/f2fs.h
+++ b/include/trace/events/f2fs.h
@@ -434,7 +434,7 @@ TRACE_EVENT(f2fs_truncate_partial_nodes,
__entry->err)
);
-TRACE_EVENT_CONDITION(f2fs_readpage,
+TRACE_EVENT_CONDITION(f2fs_submit_page_bio,
TP_PROTO(struct page *page, sector_t blkaddr, int type),
@@ -641,18 +641,22 @@ DECLARE_EVENT_CLASS(f2fs__submit_bio,
__entry->size)
);
-DEFINE_EVENT(f2fs__submit_bio, f2fs_submit_write_bio,
+DEFINE_EVENT_CONDITION(f2fs__submit_bio, f2fs_submit_write_bio,
TP_PROTO(struct super_block *sb, int rw, int type, struct bio *bio),
- TP_ARGS(sb, rw, type, bio)
+ TP_ARGS(sb, rw, type, bio),
+
+ TP_CONDITION(bio)
);
-DEFINE_EVENT(f2fs__submit_bio, f2fs_submit_read_bio,
+DEFINE_EVENT_CONDITION(f2fs__submit_bio, f2fs_submit_read_bio,
TP_PROTO(struct super_block *sb, int rw, int type, struct bio *bio),
- TP_ARGS(sb, rw, type, bio)
+ TP_ARGS(sb, rw, type, bio),
+
+ TP_CONDITION(bio)
);
DECLARE_EVENT_CLASS(f2fs__page,
@@ -701,7 +705,7 @@ DEFINE_EVENT(f2fs__page, f2fs_vm_page_mkwrite,
TP_ARGS(page, type)
);
-DECLARE_EVENT_CLASS(f2fs_io_page,
+TRACE_EVENT(f2fs_submit_page_mbio,
TP_PROTO(struct page *page, int rw, int type, block_t blk_addr),
@@ -733,20 +737,6 @@ DECLARE_EVENT_CLASS(f2fs_io_page,
(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),