f2fs.h (8c57a5e7b2820f349c95b8c8393fec1e0f4070d2) f2fs.h (70246286e94c335b5bea0cbc68a17a96dd620281)
1#undef TRACE_SYSTEM
2#define TRACE_SYSTEM f2fs
3
4#if !defined(_TRACE_F2FS_H) || defined(TRACE_HEADER_MULTI_READ)
5#define _TRACE_F2FS_H
6
7#include <linux/tracepoint.h>
8

--- 17 unchanged lines hidden (view full) ---

26TRACE_DEFINE_ENUM(NO_CHECK_TYPE);
27TRACE_DEFINE_ENUM(GC_GREEDY);
28TRACE_DEFINE_ENUM(GC_CB);
29TRACE_DEFINE_ENUM(FG_GC);
30TRACE_DEFINE_ENUM(BG_GC);
31TRACE_DEFINE_ENUM(LFS);
32TRACE_DEFINE_ENUM(SSR);
33TRACE_DEFINE_ENUM(__REQ_RAHEAD);
1#undef TRACE_SYSTEM
2#define TRACE_SYSTEM f2fs
3
4#if !defined(_TRACE_F2FS_H) || defined(TRACE_HEADER_MULTI_READ)
5#define _TRACE_F2FS_H
6
7#include <linux/tracepoint.h>
8

--- 17 unchanged lines hidden (view full) ---

26TRACE_DEFINE_ENUM(NO_CHECK_TYPE);
27TRACE_DEFINE_ENUM(GC_GREEDY);
28TRACE_DEFINE_ENUM(GC_CB);
29TRACE_DEFINE_ENUM(FG_GC);
30TRACE_DEFINE_ENUM(BG_GC);
31TRACE_DEFINE_ENUM(LFS);
32TRACE_DEFINE_ENUM(SSR);
33TRACE_DEFINE_ENUM(__REQ_RAHEAD);
34TRACE_DEFINE_ENUM(__REQ_WRITE);
35TRACE_DEFINE_ENUM(__REQ_SYNC);
36TRACE_DEFINE_ENUM(__REQ_NOIDLE);
34TRACE_DEFINE_ENUM(__REQ_SYNC);
35TRACE_DEFINE_ENUM(__REQ_NOIDLE);
37TRACE_DEFINE_ENUM(__REQ_FLUSH);
36TRACE_DEFINE_ENUM(__REQ_PREFLUSH);
38TRACE_DEFINE_ENUM(__REQ_FUA);
39TRACE_DEFINE_ENUM(__REQ_PRIO);
40TRACE_DEFINE_ENUM(__REQ_META);
41TRACE_DEFINE_ENUM(CP_UMOUNT);
42TRACE_DEFINE_ENUM(CP_FASTBOOT);
43TRACE_DEFINE_ENUM(CP_SYNC);
44TRACE_DEFINE_ENUM(CP_RECOVERY);
45TRACE_DEFINE_ENUM(CP_DISCARD);

--- 5 unchanged lines hidden (view full) ---

51 { META, "META" }, \
52 { META_FLUSH, "META_FLUSH" }, \
53 { INMEM, "INMEM" }, \
54 { INMEM_DROP, "INMEM_DROP" }, \
55 { INMEM_REVOKE, "INMEM_REVOKE" }, \
56 { IPU, "IN-PLACE" }, \
57 { OPU, "OUT-OF-PLACE" })
58
37TRACE_DEFINE_ENUM(__REQ_FUA);
38TRACE_DEFINE_ENUM(__REQ_PRIO);
39TRACE_DEFINE_ENUM(__REQ_META);
40TRACE_DEFINE_ENUM(CP_UMOUNT);
41TRACE_DEFINE_ENUM(CP_FASTBOOT);
42TRACE_DEFINE_ENUM(CP_SYNC);
43TRACE_DEFINE_ENUM(CP_RECOVERY);
44TRACE_DEFINE_ENUM(CP_DISCARD);

--- 5 unchanged lines hidden (view full) ---

50 { META, "META" }, \
51 { META_FLUSH, "META_FLUSH" }, \
52 { INMEM, "INMEM" }, \
53 { INMEM_DROP, "INMEM_DROP" }, \
54 { INMEM_REVOKE, "INMEM_REVOKE" }, \
55 { IPU, "IN-PLACE" }, \
56 { OPU, "OUT-OF-PLACE" })
57
59#define F2FS_BIO_MASK(t) (t & (READA | WRITE_FLUSH_FUA))
58#define F2FS_BIO_FLAG_MASK(t) (t & (REQ_RAHEAD | WRITE_FLUSH_FUA))
60#define F2FS_BIO_EXTRA_MASK(t) (t & (REQ_META | REQ_PRIO))
61
59#define F2FS_BIO_EXTRA_MASK(t) (t & (REQ_META | REQ_PRIO))
60
62#define show_bio_type(type) show_bio_base(type), show_bio_extra(type)
61#define show_bio_type(op, op_flags) show_bio_op(op), \
62 show_bio_op_flags(op_flags), show_bio_extra(op_flags)
63
63
64#define show_bio_base(type) \
65 __print_symbolic(F2FS_BIO_MASK(type), \
64#define show_bio_op(op) \
65 __print_symbolic(op, \
66 { READ, "READ" }, \
66 { READ, "READ" }, \
67 { READA, "READAHEAD" }, \
67 { WRITE, "WRITE" })
68
69#define show_bio_op_flags(flags) \
70 __print_symbolic(F2FS_BIO_FLAG_MASK(flags), \
71 { REQ_RAHEAD, "READAHEAD" }, \
68 { READ_SYNC, "READ_SYNC" }, \
72 { READ_SYNC, "READ_SYNC" }, \
69 { WRITE, "WRITE" }, \
70 { WRITE_SYNC, "WRITE_SYNC" }, \
71 { WRITE_FLUSH, "WRITE_FLUSH" }, \
72 { WRITE_FUA, "WRITE_FUA" }, \
73 { WRITE_FLUSH_FUA, "WRITE_FLUSH_FUA" })
74
75#define show_bio_extra(type) \
76 __print_symbolic(F2FS_BIO_EXTRA_MASK(type), \
77 { REQ_META, "(M)" }, \

--- 611 unchanged lines hidden (view full) ---

689 "rw = %d ret = %d",
690 show_dev_ino(__entry),
691 __entry->pos,
692 __entry->len,
693 __entry->rw,
694 __entry->ret)
695);
696
73 { WRITE_SYNC, "WRITE_SYNC" }, \
74 { WRITE_FLUSH, "WRITE_FLUSH" }, \
75 { WRITE_FUA, "WRITE_FUA" }, \
76 { WRITE_FLUSH_FUA, "WRITE_FLUSH_FUA" })
77
78#define show_bio_extra(type) \
79 __print_symbolic(F2FS_BIO_EXTRA_MASK(type), \
80 { REQ_META, "(M)" }, \

--- 611 unchanged lines hidden (view full) ---

692 "rw = %d ret = %d",
693 show_dev_ino(__entry),
694 __entry->pos,
695 __entry->len,
696 __entry->rw,
697 __entry->ret)
698);
699
697TRACE_EVENT(f2fs_reserve_new_block,
700TRACE_EVENT(f2fs_reserve_new_blocks,
698
701
699 TP_PROTO(struct inode *inode, nid_t nid, unsigned int ofs_in_node),
702 TP_PROTO(struct inode *inode, nid_t nid, unsigned int ofs_in_node,
703 blkcnt_t count),
700
704
701 TP_ARGS(inode, nid, ofs_in_node),
705 TP_ARGS(inode, nid, ofs_in_node, count),
702
703 TP_STRUCT__entry(
704 __field(dev_t, dev)
705 __field(nid_t, nid)
706 __field(unsigned int, ofs_in_node)
706
707 TP_STRUCT__entry(
708 __field(dev_t, dev)
709 __field(nid_t, nid)
710 __field(unsigned int, ofs_in_node)
711 __field(blkcnt_t, count)
707 ),
708
709 TP_fast_assign(
710 __entry->dev = inode->i_sb->s_dev;
711 __entry->nid = nid;
712 __entry->ofs_in_node = ofs_in_node;
712 ),
713
714 TP_fast_assign(
715 __entry->dev = inode->i_sb->s_dev;
716 __entry->nid = nid;
717 __entry->ofs_in_node = ofs_in_node;
718 __entry->count = count;
713 ),
714
719 ),
720
715 TP_printk("dev = (%d,%d), nid = %u, ofs_in_node = %u",
721 TP_printk("dev = (%d,%d), nid = %u, ofs_in_node = %u, count = %llu",
716 show_dev(__entry),
717 (unsigned int)__entry->nid,
722 show_dev(__entry),
723 (unsigned int)__entry->nid,
718 __entry->ofs_in_node)
724 __entry->ofs_in_node,
725 (unsigned long long)__entry->count)
719);
720
721DECLARE_EVENT_CLASS(f2fs__submit_page_bio,
722
723 TP_PROTO(struct page *page, struct f2fs_io_info *fio),
724
725 TP_ARGS(page, fio),
726
727 TP_STRUCT__entry(
728 __field(dev_t, dev)
729 __field(ino_t, ino)
730 __field(pgoff_t, index)
731 __field(block_t, old_blkaddr)
732 __field(block_t, new_blkaddr)
726);
727
728DECLARE_EVENT_CLASS(f2fs__submit_page_bio,
729
730 TP_PROTO(struct page *page, struct f2fs_io_info *fio),
731
732 TP_ARGS(page, fio),
733
734 TP_STRUCT__entry(
735 __field(dev_t, dev)
736 __field(ino_t, ino)
737 __field(pgoff_t, index)
738 __field(block_t, old_blkaddr)
739 __field(block_t, new_blkaddr)
733 __field(int, rw)
740 __field(int, op)
741 __field(int, op_flags)
734 __field(int, type)
735 ),
736
737 TP_fast_assign(
738 __entry->dev = page->mapping->host->i_sb->s_dev;
739 __entry->ino = page->mapping->host->i_ino;
740 __entry->index = page->index;
741 __entry->old_blkaddr = fio->old_blkaddr;
742 __entry->new_blkaddr = fio->new_blkaddr;
742 __field(int, type)
743 ),
744
745 TP_fast_assign(
746 __entry->dev = page->mapping->host->i_sb->s_dev;
747 __entry->ino = page->mapping->host->i_ino;
748 __entry->index = page->index;
749 __entry->old_blkaddr = fio->old_blkaddr;
750 __entry->new_blkaddr = fio->new_blkaddr;
743 __entry->rw = fio->rw;
751 __entry->op = fio->op;
752 __entry->op_flags = fio->op_flags;
744 __entry->type = fio->type;
745 ),
746
747 TP_printk("dev = (%d,%d), ino = %lu, page_index = 0x%lx, "
753 __entry->type = fio->type;
754 ),
755
756 TP_printk("dev = (%d,%d), ino = %lu, page_index = 0x%lx, "
748 "oldaddr = 0x%llx, newaddr = 0x%llx rw = %s%s, type = %s",
757 "oldaddr = 0x%llx, newaddr = 0x%llx rw = %s%si%s, type = %s",
749 show_dev_ino(__entry),
750 (unsigned long)__entry->index,
751 (unsigned long long)__entry->old_blkaddr,
752 (unsigned long long)__entry->new_blkaddr,
758 show_dev_ino(__entry),
759 (unsigned long)__entry->index,
760 (unsigned long long)__entry->old_blkaddr,
761 (unsigned long long)__entry->new_blkaddr,
753 show_bio_type(__entry->rw),
762 show_bio_type(__entry->op, __entry->op_flags),
754 show_block_type(__entry->type))
755);
756
757DEFINE_EVENT_CONDITION(f2fs__submit_page_bio, f2fs_submit_page_bio,
758
759 TP_PROTO(struct page *page, struct f2fs_io_info *fio),
760
761 TP_ARGS(page, fio),

--- 14 unchanged lines hidden (view full) ---

776
777 TP_PROTO(struct super_block *sb, struct f2fs_io_info *fio,
778 struct bio *bio),
779
780 TP_ARGS(sb, fio, bio),
781
782 TP_STRUCT__entry(
783 __field(dev_t, dev)
763 show_block_type(__entry->type))
764);
765
766DEFINE_EVENT_CONDITION(f2fs__submit_page_bio, f2fs_submit_page_bio,
767
768 TP_PROTO(struct page *page, struct f2fs_io_info *fio),
769
770 TP_ARGS(page, fio),

--- 14 unchanged lines hidden (view full) ---

785
786 TP_PROTO(struct super_block *sb, struct f2fs_io_info *fio,
787 struct bio *bio),
788
789 TP_ARGS(sb, fio, bio),
790
791 TP_STRUCT__entry(
792 __field(dev_t, dev)
784 __field(int, rw)
793 __field(int, op)
794 __field(int, op_flags)
785 __field(int, type)
786 __field(sector_t, sector)
787 __field(unsigned int, size)
788 ),
789
790 TP_fast_assign(
791 __entry->dev = sb->s_dev;
795 __field(int, type)
796 __field(sector_t, sector)
797 __field(unsigned int, size)
798 ),
799
800 TP_fast_assign(
801 __entry->dev = sb->s_dev;
792 __entry->rw = fio->rw;
802 __entry->op = fio->op;
803 __entry->op_flags = fio->op_flags;
793 __entry->type = fio->type;
794 __entry->sector = bio->bi_iter.bi_sector;
795 __entry->size = bio->bi_iter.bi_size;
796 ),
797
804 __entry->type = fio->type;
805 __entry->sector = bio->bi_iter.bi_sector;
806 __entry->size = bio->bi_iter.bi_size;
807 ),
808
798 TP_printk("dev = (%d,%d), %s%s, %s, sector = %lld, size = %u",
809 TP_printk("dev = (%d,%d), %s%s%s, %s, sector = %lld, size = %u",
799 show_dev(__entry),
810 show_dev(__entry),
800 show_bio_type(__entry->rw),
811 show_bio_type(__entry->op, __entry->op_flags),
801 show_block_type(__entry->type),
802 (unsigned long long)__entry->sector,
803 __entry->size)
804);
805
806DEFINE_EVENT_CONDITION(f2fs__submit_bio, f2fs_submit_write_bio,
807
808 TP_PROTO(struct super_block *sb, struct f2fs_io_info *fio,

--- 457 unchanged lines hidden (view full) ---

1266
1267 TP_printk("dev = (%d,%d), ino = %lu, destroyed: node_cnt = %u",
1268 show_dev_ino(__entry),
1269 __entry->node_cnt)
1270);
1271
1272DECLARE_EVENT_CLASS(f2fs_sync_dirty_inodes,
1273
812 show_block_type(__entry->type),
813 (unsigned long long)__entry->sector,
814 __entry->size)
815);
816
817DEFINE_EVENT_CONDITION(f2fs__submit_bio, f2fs_submit_write_bio,
818
819 TP_PROTO(struct super_block *sb, struct f2fs_io_info *fio,

--- 457 unchanged lines hidden (view full) ---

1277
1278 TP_printk("dev = (%d,%d), ino = %lu, destroyed: node_cnt = %u",
1279 show_dev_ino(__entry),
1280 __entry->node_cnt)
1281);
1282
1283DECLARE_EVENT_CLASS(f2fs_sync_dirty_inodes,
1284
1274 TP_PROTO(struct super_block *sb, int type, int count),
1285 TP_PROTO(struct super_block *sb, int type, s64 count),
1275
1276 TP_ARGS(sb, type, count),
1277
1278 TP_STRUCT__entry(
1279 __field(dev_t, dev)
1280 __field(int, type)
1286
1287 TP_ARGS(sb, type, count),
1288
1289 TP_STRUCT__entry(
1290 __field(dev_t, dev)
1291 __field(int, type)
1281 __field(int, count)
1292 __field(s64, count)
1282 ),
1283
1284 TP_fast_assign(
1285 __entry->dev = sb->s_dev;
1286 __entry->type = type;
1287 __entry->count = count;
1288 ),
1289
1293 ),
1294
1295 TP_fast_assign(
1296 __entry->dev = sb->s_dev;
1297 __entry->type = type;
1298 __entry->count = count;
1299 ),
1300
1290 TP_printk("dev = (%d,%d), %s, dirty count = %d",
1301 TP_printk("dev = (%d,%d), %s, dirty count = %lld",
1291 show_dev(__entry),
1292 show_file_type(__entry->type),
1293 __entry->count)
1294);
1295
1296DEFINE_EVENT(f2fs_sync_dirty_inodes, f2fs_sync_dirty_inodes_enter,
1297
1302 show_dev(__entry),
1303 show_file_type(__entry->type),
1304 __entry->count)
1305);
1306
1307DEFINE_EVENT(f2fs_sync_dirty_inodes, f2fs_sync_dirty_inodes_enter,
1308
1298 TP_PROTO(struct super_block *sb, int type, int count),
1309 TP_PROTO(struct super_block *sb, int type, s64 count),
1299
1300 TP_ARGS(sb, type, count)
1301);
1302
1303DEFINE_EVENT(f2fs_sync_dirty_inodes, f2fs_sync_dirty_inodes_exit,
1304
1310
1311 TP_ARGS(sb, type, count)
1312);
1313
1314DEFINE_EVENT(f2fs_sync_dirty_inodes, f2fs_sync_dirty_inodes_exit,
1315
1305 TP_PROTO(struct super_block *sb, int type, int count),
1316 TP_PROTO(struct super_block *sb, int type, s64 count),
1306
1307 TP_ARGS(sb, type, count)
1308);
1309
1310#endif /* _TRACE_F2FS_H */
1311
1312 /* This part must be outside protection */
1313#include <trace/define_trace.h>
1317
1318 TP_ARGS(sb, type, count)
1319);
1320
1321#endif /* _TRACE_F2FS_H */
1322
1323 /* This part must be outside protection */
1324#include <trace/define_trace.h>