diff options
author | Kent Overstreet <kent.overstreet@gmail.com> | 2021-12-10 15:41:38 -0500 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@linux.dev> | 2023-10-22 17:09:18 -0400 |
commit | 991ba0211290884df42f9506499aba7e933a2bb8 (patch) | |
tree | fa9a222954b283f2ae2000714f9c6524f12e1ce6 /fs/bcachefs/journal.c | |
parent | f44906775981e368b77474f0c0750e9d1a4f229b (diff) |
bcachefs: Add more time_stats
This adds more latency/event measurements and breaks some apart into
more events. Journal writes are broken apart into flush writes and
noflush writes, btree compactions are broken out from btree splits,
btree mergers are added, as well as btree_interior_updates - foreground
and total.
Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
Diffstat (limited to 'fs/bcachefs/journal.c')
-rw-r--r-- | fs/bcachefs/journal.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/fs/bcachefs/journal.c b/fs/bcachefs/journal.c index 3ce6a78263ba..f15d265ef1b6 100644 --- a/fs/bcachefs/journal.c +++ b/fs/bcachefs/journal.c @@ -625,6 +625,12 @@ int bch2_journal_flush_seq(struct journal *j, u64 seq) u64 start_time = local_clock(); int ret, ret2; + /* + * Don't update time_stats when @seq is already flushed: + */ + if (seq <= j->flushed_seq_ondisk) + return 0; + ret = wait_event_interruptible(j->wait, (ret2 = bch2_journal_flush_seq_async(j, seq, NULL))); if (!ret) |