diff options
author | Kent Overstreet <kent.overstreet@gmail.com> | 2019-05-14 21:08:23 +0300 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@linux.dev> | 2023-10-23 00:08:22 +0300 |
commit | ed8413fdab6567985995051869ad211fb8f15d5f (patch) | |
tree | ad5f5fa270b6ac38eaaa61cba37645eb93aebf94 /fs/bcachefs/trace.h | |
parent | 17758a6c2367f8613490883d541c767c361194a2 (diff) | |
download | linux-ed8413fdab6567985995051869ad211fb8f15d5f.tar.xz |
bcachefs: improved btree locking tracepoints
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Diffstat (limited to 'fs/bcachefs/trace.h')
-rw-r--r-- | fs/bcachefs/trace.h | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/fs/bcachefs/trace.h b/fs/bcachefs/trace.h index 22a378d5f64f..86f58206365d 100644 --- a/fs/bcachefs/trace.h +++ b/fs/bcachefs/trace.h @@ -561,6 +561,21 @@ DEFINE_EVENT(transaction_restart, trans_restart_btree_node_split, TP_ARGS(c, ip) ); +DEFINE_EVENT(transaction_restart, trans_restart_mark, + TP_PROTO(struct bch_fs *c, unsigned long ip), + TP_ARGS(c, ip) +); + +DEFINE_EVENT(transaction_restart, trans_restart_upgrade, + TP_PROTO(struct bch_fs *c, unsigned long ip), + TP_ARGS(c, ip) +); + +DEFINE_EVENT(transaction_restart, trans_restart_iter_upgrade, + TP_PROTO(struct bch_fs *c, unsigned long ip), + TP_ARGS(c, ip) +); + DEFINE_EVENT(transaction_restart, trans_restart_traverse, TP_PROTO(struct bch_fs *c, unsigned long ip), TP_ARGS(c, ip) @@ -571,6 +586,39 @@ DEFINE_EVENT(transaction_restart, trans_restart_atomic, TP_ARGS(c, ip) ); +DECLARE_EVENT_CLASS(node_lock_fail, + TP_PROTO(unsigned level, u32 iter_seq, unsigned node, u32 node_seq), + TP_ARGS(level, iter_seq, node, node_seq), + + TP_STRUCT__entry( + __field(u32, level) + __field(u32, iter_seq) + __field(u32, node) + __field(u32, node_seq) + ), + + TP_fast_assign( + __entry->level = level; + __entry->iter_seq = iter_seq; + __entry->node = node; + __entry->node_seq = node_seq; + ), + + TP_printk("level %u iter seq %u node %u node seq %u", + __entry->level, __entry->iter_seq, + __entry->node, __entry->node_seq) +); + +DEFINE_EVENT(node_lock_fail, node_upgrade_fail, + TP_PROTO(unsigned level, u32 iter_seq, unsigned node, u32 node_seq), + TP_ARGS(level, iter_seq, node, node_seq) +); + +DEFINE_EVENT(node_lock_fail, node_relock_fail, + TP_PROTO(unsigned level, u32 iter_seq, unsigned node, u32 node_seq), + TP_ARGS(level, iter_seq, node, node_seq) +); + #endif /* _TRACE_BCACHEFS_H */ /* This part must be outside protection */ |