diff options
author | 2021-04-29 00:21:54 -0400 | |
---|---|---|
committer | 2023-10-22 17:09:02 -0400 | |
commit | 4f6dad46cb4b6db75758bc790a74d7f0f04e450b (patch) | |
tree | 0c5c3b11e5e50f1e14e407231a7608ab24eb77e1 | |
parent | bcachefs: Make sure to initialize j->last_flushed (diff) | |
download | wireguard-linux-4f6dad46cb4b6db75758bc790a74d7f0f04e450b.tar.xz wireguard-linux-4f6dad46cb4b6db75758bc790a74d7f0f04e450b.zip |
bcachefs: Add a tracepoint for when we block on journal reclaim
Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
-rw-r--r-- | fs/bcachefs/btree_update_leaf.c | 2 | ||||
-rw-r--r-- | fs/bcachefs/trace.h | 5 |
2 files changed, 7 insertions, 0 deletions
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, |