diff options
author | Kent Overstreet <kent.overstreet@linux.dev> | 2022-08-27 12:23:38 -0400 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@linux.dev> | 2022-09-18 13:47:42 -0400 |
commit | 19c926b4ea4c0df58a2ea26b14ff11de3f47170f (patch) | |
tree | 4976aabb0defa153ee98c175c15282f624954370 | |
parent | a112689eedfa2dd4395eef0ea87a42bdc12b78f5 (diff) |
bcachefs: Improve trans_restart_journal_preres_get tracepoint
It now includes journal_flags.
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
-rw-r--r-- | fs/bcachefs/btree_update_interior.c | 2 | ||||
-rw-r--r-- | fs/bcachefs/btree_update_leaf.c | 2 | ||||
-rw-r--r-- | include/trace/events/bcachefs.h | 24 |
3 files changed, 23 insertions, 5 deletions
diff --git a/fs/bcachefs/btree_update_interior.c b/fs/bcachefs/btree_update_interior.c index 0409737f757a..97111188db41 100644 --- a/fs/bcachefs/btree_update_interior.c +++ b/fs/bcachefs/btree_update_interior.c @@ -1052,7 +1052,7 @@ bch2_btree_update_start(struct btree_trans *trans, struct btree_path *path, BTREE_UPDATE_JOURNAL_RES, journal_flags); if (ret) { - trace_trans_restart_journal_preres_get(trans, _RET_IP_); + trace_trans_restart_journal_preres_get(trans, _RET_IP_, journal_flags); ret = btree_trans_restart(trans, BCH_ERR_transaction_restart_journal_preres_get); goto err; } diff --git a/fs/bcachefs/btree_update_leaf.c b/fs/bcachefs/btree_update_leaf.c index 8e9200bb3e7e..29e451fe1fca 100644 --- a/fs/bcachefs/btree_update_leaf.c +++ b/fs/bcachefs/btree_update_leaf.c @@ -285,7 +285,7 @@ bch2_trans_journal_preres_get_cold(struct btree_trans *trans, unsigned u64s, ret = bch2_trans_relock(trans); if (ret) { - trace_trans_restart_journal_preres_get(trans, trace_ip); + trace_trans_restart_journal_preres_get(trans, trace_ip, 0); return ret; } diff --git a/include/trace/events/bcachefs.h b/include/trace/events/bcachefs.h index 74e9cb4ba284..3a07171c736a 100644 --- a/include/trace/events/bcachefs.h +++ b/include/trace/events/bcachefs.h @@ -768,10 +768,28 @@ DEFINE_EVENT(transaction_event, trans_restart_journal_res_get, TP_ARGS(trans, caller_ip) ); -DEFINE_EVENT(transaction_event, trans_restart_journal_preres_get, + +TRACE_EVENT(trans_restart_journal_preres_get, TP_PROTO(struct btree_trans *trans, - unsigned long caller_ip), - TP_ARGS(trans, caller_ip) + unsigned long caller_ip, + unsigned flags), + TP_ARGS(trans, caller_ip, flags), + + TP_STRUCT__entry( + __array(char, trans_fn, 32 ) + __field(unsigned long, caller_ip ) + __field(unsigned, flags ) + ), + + TP_fast_assign( + strlcpy(__entry->trans_fn, trans->fn, sizeof(__entry->trans_fn)); + __entry->caller_ip = caller_ip; + __entry->flags = flags; + ), + + TP_printk("%s %pS %x", __entry->trans_fn, + (void *) __entry->caller_ip, + __entry->flags) ); DEFINE_EVENT(transaction_event, trans_restart_journal_reclaim, |