summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@gmail.com>2021-04-29 00:21:54 -0400
committerKent Overstreet <kent.overstreet@gmail.com>2021-05-19 15:33:46 -0400
commitc733bba23f4f50aef51d85dfcdc6e4fde00dac21 (patch)
tree379c2cca04798d3ece128ec655b5685beb3694fb
parentc13ce5c85f9baf1fdbc643c21637f1c07033c750 (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 da0b45787ed3..c79338c8ebf7 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,