diff options
author | Kent Overstreet <kent.overstreet@linux.dev> | 2022-10-29 00:08:41 +0300 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@linux.dev> | 2023-10-23 00:09:45 +0300 |
commit | 46fee692eebb850b8478531e185fb5a5f942d3ea (patch) | |
tree | 332347a26a8887b98e5bcb40456aa69825413500 /fs/bcachefs/btree_update_leaf.c | |
parent | 8852501fe570c4956c0e29246e1e5636f09b58fb (diff) | |
download | linux-46fee692eebb850b8478531e185fb5a5f942d3ea.tar.xz |
bcachefs: Improved btree write statistics
This replaces sysfs btree_avg_write_size with btree_write_stats, which
now breaks out statistics by the source of the btree write.
Btree writes that are too small are a source of inefficiency, and
excessive btree resort overhead - this will let us see what's causing
them.
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Diffstat (limited to 'fs/bcachefs/btree_update_leaf.c')
-rw-r--r-- | fs/bcachefs/btree_update_leaf.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/bcachefs/btree_update_leaf.c b/fs/bcachefs/btree_update_leaf.c index fc53958e5619..8cc271030be6 100644 --- a/fs/bcachefs/btree_update_leaf.c +++ b/fs/bcachefs/btree_update_leaf.c @@ -181,6 +181,8 @@ static int __btree_node_flush(struct journal *j, struct journal_entry_pin *pin, new |= 1 << BTREE_NODE_need_write; } while ((v = cmpxchg(&b->flags, old, new)) != old); + b->write_type = BTREE_WRITE_journal_reclaim; + btree_node_write_if_need(c, b, SIX_LOCK_read); six_unlock_read(&b->c.lock); |