aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorJaegeuk Kim <jaegeuk.kim@samsung.com>2013-11-30 12:51:14 +0900
committerAndreas Blaesius <skate4life@gmx.de>2016-06-05 21:20:59 +0200
commit4ada85f6f708aa9aaddc73bcd21e872f64c07a22 (patch)
tree1cc9bfde9ad617684c705906d15c0b266114d9ee /include
parent9bc663ff8962fdb9b0322d3387ca97171311bc9d (diff)
downloadkernel_samsung_espresso10-4ada85f6f708aa9aaddc73bcd21e872f64c07a22.zip
kernel_samsung_espresso10-4ada85f6f708aa9aaddc73bcd21e872f64c07a22.tar.gz
kernel_samsung_espresso10-4ada85f6f708aa9aaddc73bcd21e872f64c07a22.tar.bz2
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')
-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 204fcc3..3b9f28d 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),