bcachefs: Add a tracepoint for when we block on journal reclaim
authorKent Overstreet <kent.overstreet@gmail.com>
Thu, 29 Apr 2021 04:21:54 +0000 (00:21 -0400)
committerKent Overstreet <kent.overstreet@linux.dev>
Sun, 22 Oct 2023 21:09:02 +0000 (17:09 -0400)
Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
fs/bcachefs/btree_update_leaf.c
fs/bcachefs/trace.h

index e537bd64e1fbbe5c5d399e882cc3ae7c07468b7f..2e7b9210564d5d11ab7532774294382a647e4885 100644 (file)
@@ -725,6 +725,8 @@ int bch2_trans_commit_error(struct btree_trans *trans,
        case BTREE_INSERT_NEED_JOURNAL_RECLAIM:
                bch2_trans_unlock(trans);
 
+               trace_trans_blocked_journal_reclaim(trans->ip);
+
                wait_event_freezable(c->journal.reclaim_wait,
                                     (ret = journal_reclaim_wait_done(c)));
                if (ret < 0)
index 7e518f7618d40a0acfb4dbd4a5929874560c4cae..b0a696ae4fc10b3f823a1f7fad5cac44197bfe68 100644 (file)
@@ -621,6 +621,11 @@ DEFINE_EVENT(transaction_restart,  trans_restart_btree_node_reused,
        TP_ARGS(ip)
 );
 
+DEFINE_EVENT(transaction_restart,      trans_blocked_journal_reclaim,
+       TP_PROTO(unsigned long ip),
+       TP_ARGS(ip)
+);
+
 TRACE_EVENT(trans_restart_would_deadlock,
        TP_PROTO(unsigned long  trans_ip,
                 unsigned long  caller_ip,