summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@linux.dev>2022-08-27 12:23:38 -0400
committerKent Overstreet <kent.overstreet@linux.dev>2022-09-18 13:47:42 -0400
commit19c926b4ea4c0df58a2ea26b14ff11de3f47170f (patch)
tree4976aabb0defa153ee98c175c15282f624954370
parenta112689eedfa2dd4395eef0ea87a42bdc12b78f5 (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.c2
-rw-r--r--fs/bcachefs/btree_update_leaf.c2
-rw-r--r--include/trace/events/bcachefs.h24
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,