f2fs: add detailed information of bio types in the tracepoints
authorJaegeuk Kim <jaegeuk.kim@samsung.com>
Sun, 24 Nov 2013 05:42:23 +0000 (14:42 +0900)
committerJaegeuk Kim <jaegeuk.kim@samsung.com>
Mon, 23 Dec 2013 01:18:03 +0000 (10:18 +0900)
This patch inserts information of bio types in more detail.
So, we can now see REQ_META and REQ_PRIO too.

Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
fs/f2fs/segment.c
include/trace/events/f2fs.h

index 6dd1dc1..33ab378 100644 (file)
@@ -846,11 +846,11 @@ static void do_submit_bio(struct f2fs_sb_info *sbi,
        if (type >= META_FLUSH)
                rw = WRITE_FLUSH_FUA;
 
-       trace_f2fs_submit_write_bio(sbi->sb, rw, btype, io->bio);
-
        if (btype == META)
                rw |= REQ_META;
 
+       trace_f2fs_submit_write_bio(sbi->sb, rw, btype, io->bio);
+
        p = io->bio->bi_private;
        p->sbi = sbi;
        io->bio->bi_end_io = f2fs_end_io_write;
index 1f59f5d..204fcc3 100644 (file)
                { META,         "META" },                               \
                { META_FLUSH,   "META_FLUSH" })
 
-#define show_bio_type(type)                                            \
-       __print_symbolic(type,                                          \
+#define F2FS_BIO_MASK(t)       (t & (READA | WRITE_FLUSH_FUA))
+#define F2FS_BIO_EXTRA_MASK(t) (t & (REQ_META | REQ_PRIO))
+
+#define show_bio_type(type)    show_bio_base(type), show_bio_extra(type)
+
+#define show_bio_base(type)                                            \
+       __print_symbolic(F2FS_BIO_MASK(type),                           \
                { READ,                 "READ" },                       \
                { READA,                "READAHEAD" },                  \
                { READ_SYNC,            "READ_SYNC" },                  \
                { WRITE_FUA,            "WRITE_FUA" },                  \
                { WRITE_FLUSH_FUA,      "WRITE_FLUSH_FUA" })
 
+#define show_bio_extra(type)                                           \
+       __print_symbolic(F2FS_BIO_EXTRA_MASK(type),                     \
+               { REQ_META,             "(M)" },                        \
+               { REQ_PRIO,             "(P)" },                        \
+               { REQ_META | REQ_PRIO,  "(MP)" },                       \
+               { 0, " \b" })
+
 #define show_data_type(type)                                           \
        __print_symbolic(type,                                          \
                { CURSEG_HOT_DATA,      "Hot DATA" },                   \
@@ -447,7 +459,7 @@ TRACE_EVENT_CONDITION(f2fs_readpage,
        ),
 
        TP_printk("dev = (%d,%d), ino = %lu, page_index = 0x%lx, "
-               "blkaddr = 0x%llx, bio_type = %s",
+               "blkaddr = 0x%llx, bio_type = %s%s",
                show_dev_ino(__entry),
                (unsigned long)__entry->index,
                (unsigned long long)__entry->blkaddr,
@@ -621,7 +633,7 @@ DECLARE_EVENT_CLASS(f2fs__submit_bio,
                __entry->size           = bio->bi_size;
        ),
 
-       TP_printk("dev = (%d,%d), %s, %s, sector = %lld, size = %u",
+       TP_printk("dev = (%d,%d), %s%s, %s, sector = %lld, size = %u",
                show_dev(__entry),
                show_bio_type(__entry->rw),
                show_block_type(__entry->type),
@@ -713,7 +725,7 @@ DECLARE_EVENT_CLASS(f2fs_io_page,
                __entry->block  = blk_addr;
        ),
 
-       TP_printk("dev = (%d,%d), ino = %lu, %s, %s, index = %lu, blkaddr = 0x%llx",
+       TP_printk("dev = (%d,%d), ino = %lu, %s%s, %s, index = %lu, blkaddr = 0x%llx",
                show_dev_ino(__entry),
                show_bio_type(__entry->rw),
                show_block_type(__entry->type),