From 85178efa194defa069c9904f26d5c730dbbbef2d Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Wed, 18 Dec 2019 10:20:57 -0800 Subject: [PATCH] scoutfs: add more forest tracing Signed-off-by: Zach Brown --- kmod/src/forest.c | 5 +++++ kmod/src/scoutfs_trace.h | 47 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 52 insertions(+) diff --git a/kmod/src/forest.c b/kmod/src/forest.c index ac49459c..3dce5f32 100644 --- a/kmod/src/forest.c +++ b/kmod/src/forest.c @@ -298,6 +298,8 @@ static int refresh_bloom_roots(struct super_block *sb, if (ret) goto out; + trace_scoutfs_forest_read_super(sb, &super); + srefs->fs_ref = super.fs_root.ref; srefs->logs_ref = super.logs_root.ref; @@ -1353,6 +1355,9 @@ void scoutfs_forest_get_btrees(struct super_block *sb, lt->item_root = finf->our_log.item_root; lt->bloom_ref = finf->our_log.bloom_ref; + + trace_scoutfs_forest_prepare_commit(sb, <->item_root.ref, + <->bloom_ref); } int scoutfs_forest_setup(struct super_block *sb) diff --git a/kmod/src/scoutfs_trace.h b/kmod/src/scoutfs_trace.h index 33dbd9e4..56e34ae2 100644 --- a/kmod/src/scoutfs_trace.h +++ b/kmod/src/scoutfs_trace.h @@ -2006,6 +2006,53 @@ DEFINE_EVENT(scoutfs_forest_bloom_class, scoutfs_forest_bloom_search, TP_ARGS(sb, key, rid, nr, blkno, seq, count) ); +TRACE_EVENT(scoutfs_forest_prepare_commit, + TP_PROTO(struct super_block *sb, struct scoutfs_btree_ref *item_ref, + struct scoutfs_btree_ref *bloom_ref), + TP_ARGS(sb, item_ref, bloom_ref), + TP_STRUCT__entry( + SCSB_TRACE_FIELDS + __field(__u64, item_blkno) + __field(__u64, item_seq) + __field(__u64, bloom_blkno) + __field(__u64, bloom_seq) + ), + TP_fast_assign( + SCSB_TRACE_ASSIGN(sb); + __entry->item_blkno = le64_to_cpu(item_ref->blkno); + __entry->item_seq = le64_to_cpu(item_ref->seq); + __entry->bloom_blkno = le64_to_cpu(bloom_ref->blkno); + __entry->bloom_seq = le64_to_cpu(bloom_ref->seq); + ), + TP_printk(SCSBF" item blkno %llu seq %llu bloom blkno %llu seq %llu", + SCSB_TRACE_ARGS, __entry->item_blkno, __entry->item_seq, + __entry->bloom_blkno, __entry->bloom_seq) +); + +TRACE_EVENT(scoutfs_forest_read_super, + TP_PROTO(struct super_block *sb, struct scoutfs_super_block *super), + TP_ARGS(sb, super), + TP_STRUCT__entry( + SCSB_TRACE_FIELDS + __field(__u64, hdr_seq) + __field(__u64, fs_blkno) + __field(__u64, fs_seq) + __field(__u64, logs_blkno) + __field(__u64, logs_seq) + ), + TP_fast_assign( + SCSB_TRACE_ASSIGN(sb); + __entry->hdr_seq = le64_to_cpu(super->hdr.seq); + __entry->fs_blkno = le64_to_cpu(super->fs_root.ref.blkno); + __entry->fs_seq = le64_to_cpu(super->fs_root.ref.seq); + __entry->logs_blkno = le64_to_cpu(super->logs_root.ref.blkno); + __entry->logs_seq = le64_to_cpu(super->logs_root.ref.seq); + ), + TP_printk(SCSBF" hdr seq %llu fs blkno %llu seq %llu logs blkno %llu seq %llu", + SCSB_TRACE_ARGS, __entry->hdr_seq, __entry->fs_blkno, + __entry->fs_seq, __entry->logs_blkno, __entry->logs_seq) +); + TRACE_EVENT(scoutfs_forest_add_root, TP_PROTO(struct super_block *sb, struct scoutfs_key *key, u64 rid, u64 nr, u64 blkno, u64 seq),