summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@gmail.com>2021-04-29 00:21:54 -0400
committerKent Overstreet <kent.overstreet@linux.dev>2022-10-03 22:51:22 -0400
commit62b71df44a70e507cdbbdd9ae40c3ec141a2582b (patch)
tree238f0d69ffa2de052156804472ced51e8718e6e3
parent374f6fb92d7d7e97393c29974dc1786d9ed12723 (diff)
bcachefs: Add a tracepoint for when we block on journal reclaim
Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
-rw-r--r--fs/bcachefs/btree_update_leaf.c2
-rw-r--r--include/trace/events/bcachefs.h5
2 files changed, 7 insertions, 0 deletions
diff --git a/fs/bcachefs/btree_update_leaf.c b/fs/bcachefs/btree_update_leaf.c
index b793ab77e452..64b6e86cf90a 100644
--- a/fs/bcachefs/btree_update_leaf.c
+++ b/fs/bcachefs/btree_update_leaf.c
@@ -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)
diff --git a/include/trace/events/bcachefs.h b/include/trace/events/bcachefs.h
index 2163651c0fe4..48dc2377930a 100644
--- a/include/trace/events/bcachefs.h
+++ b/include/trace/events/bcachefs.h
@@ -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,