From 4f6dad46cb4b6db75758bc790a74d7f0f04e450b Mon Sep 17 00:00:00 2001 From: Kent Overstreet Date: Thu, 29 Apr 2021 00:21:54 -0400 Subject: [PATCH] bcachefs: Add a tracepoint for when we block on journal reclaim Signed-off-by: Kent Overstreet Signed-off-by: Kent Overstreet --- fs/bcachefs/btree_update_leaf.c | 2 ++ fs/bcachefs/trace.h | 5 +++++ 2 files changed, 7 insertions(+) diff --git a/fs/bcachefs/btree_update_leaf.c b/fs/bcachefs/btree_update_leaf.c index e537bd64e1fb..2e7b9210564d 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/fs/bcachefs/trace.h b/fs/bcachefs/trace.h index 7e518f7618d4..b0a696ae4fc1 100644 --- a/fs/bcachefs/trace.h +++ b/fs/bcachefs/trace.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,