diff options
author | Chao Yu <chao2.yu@samsung.com> | 2014-05-06 04:51:24 -0400 |
---|---|---|
committer | Jaegeuk Kim <jaegeuk.kim@samsung.com> | 2014-05-06 21:21:59 -0400 |
commit | e57484343898094bb8f72a2aa1a50929d27aa027 (patch) | |
tree | 546dabf60fe27846c3a8ea2a834a9bb5bec4b42c /include/trace/events/f2fs.h | |
parent | ecda0de3430455378f1c02523bf3ad71d91d613a (diff) |
f2fs: add a tracepoint for f2fs_write_{meta,node,data}_pages
This patch adds a tracepoint for f2fs_write_{meta,node,data}_pages to trace when
pages are fsyncing/flushing.
Signed-off-by: Chao Yu <chao2.yu@samsung.com>
Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
Diffstat (limited to 'include/trace/events/f2fs.h')
-rw-r--r-- | include/trace/events/f2fs.h | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/include/trace/events/f2fs.h b/include/trace/events/f2fs.h index d70991e69e58..91b1fcc5ec93 100644 --- a/include/trace/events/f2fs.h +++ b/include/trace/events/f2fs.h | |||
@@ -772,6 +772,70 @@ DEFINE_EVENT(f2fs__page, f2fs_vm_page_mkwrite, | |||
772 | TP_ARGS(page, type) | 772 | TP_ARGS(page, type) |
773 | ); | 773 | ); |
774 | 774 | ||
775 | TRACE_EVENT(f2fs_writepages, | ||
776 | |||
777 | TP_PROTO(struct inode *inode, struct writeback_control *wbc, int type), | ||
778 | |||
779 | TP_ARGS(inode, wbc, type), | ||
780 | |||
781 | TP_STRUCT__entry( | ||
782 | __field(dev_t, dev) | ||
783 | __field(ino_t, ino) | ||
784 | __field(int, type) | ||
785 | __field(int, dir) | ||
786 | __field(long, nr_to_write) | ||
787 | __field(long, pages_skipped) | ||
788 | __field(loff_t, range_start) | ||
789 | __field(loff_t, range_end) | ||
790 | __field(pgoff_t, writeback_index) | ||
791 | __field(int, sync_mode) | ||
792 | __field(char, for_kupdate) | ||
793 | __field(char, for_background) | ||
794 | __field(char, tagged_writepages) | ||
795 | __field(char, for_reclaim) | ||
796 | __field(char, range_cyclic) | ||
797 | __field(char, for_sync) | ||
798 | ), | ||
799 | |||
800 | TP_fast_assign( | ||
801 | __entry->dev = inode->i_sb->s_dev; | ||
802 | __entry->ino = inode->i_ino; | ||
803 | __entry->type = type; | ||
804 | __entry->dir = S_ISDIR(inode->i_mode); | ||
805 | __entry->nr_to_write = wbc->nr_to_write; | ||
806 | __entry->pages_skipped = wbc->pages_skipped; | ||
807 | __entry->range_start = wbc->range_start; | ||
808 | __entry->range_end = wbc->range_end; | ||
809 | __entry->writeback_index = inode->i_mapping->writeback_index; | ||
810 | __entry->sync_mode = wbc->sync_mode; | ||
811 | __entry->for_kupdate = wbc->for_kupdate; | ||
812 | __entry->for_background = wbc->for_background; | ||
813 | __entry->tagged_writepages = wbc->tagged_writepages; | ||
814 | __entry->for_reclaim = wbc->for_reclaim; | ||
815 | __entry->range_cyclic = wbc->range_cyclic; | ||
816 | __entry->for_sync = wbc->for_sync; | ||
817 | ), | ||
818 | |||
819 | TP_printk("dev = (%d,%d), ino = %lu, %s, %s, nr_to_write %ld, " | ||
820 | "skipped %ld, start %lld, end %lld, wb_idx %lu, sync_mode %d, " | ||
821 | "kupdate %u background %u tagged %u reclaim %u cyclic %u sync %u", | ||
822 | show_dev_ino(__entry), | ||
823 | show_block_type(__entry->type), | ||
824 | show_file_type(__entry->dir), | ||
825 | __entry->nr_to_write, | ||
826 | __entry->pages_skipped, | ||
827 | __entry->range_start, | ||
828 | __entry->range_end, | ||
829 | (unsigned long)__entry->writeback_index, | ||
830 | __entry->sync_mode, | ||
831 | __entry->for_kupdate, | ||
832 | __entry->for_background, | ||
833 | __entry->tagged_writepages, | ||
834 | __entry->for_reclaim, | ||
835 | __entry->range_cyclic, | ||
836 | __entry->for_sync) | ||
837 | ); | ||
838 | |||
775 | TRACE_EVENT(f2fs_submit_page_mbio, | 839 | TRACE_EVENT(f2fs_submit_page_mbio, |
776 | 840 | ||
777 | TP_PROTO(struct page *page, int rw, int type, block_t blk_addr), | 841 | TP_PROTO(struct page *page, int rw, int type, block_t blk_addr), |