bcachefs: Improve trans_restart_journal_preres_get tracepoint
authorKent Overstreet <kent.overstreet@linux.dev>
Sat, 27 Aug 2022 16:23:38 +0000 (12:23 -0400)
committerKent Overstreet <kent.overstreet@linux.dev>
Sun, 22 Oct 2023 21:09:39 +0000 (17:09 -0400)
It now includes journal_flags.

Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
fs/bcachefs/btree_update_interior.c
fs/bcachefs/btree_update_leaf.c
fs/bcachefs/trace.h

index e10c159ec0799bd4725b4b23798567a128df6c95..fc768195be5480837b6335fa242a0a0c37263ed9 100644 (file)
@@ -1053,7 +1053,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;
                }
index 6ae4755cfd24dccf3363f8b6cd1106cdf89914b1..e3501623931ac43ca81cb67639236bfab4efc89f 100644 (file)
@@ -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;
        }
 
index 472175e8c2e3aa712d002126b8cc8b9992e5a995..2c1661ab807b465c0151b3f8b55f6e88fc67d003 100644 (file)
@@ -781,10 +781,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,