Commit c72e4d7a authored by Kent Overstreet's avatar Kent Overstreet

bcachefs: add time_stats for btree_node_read_done()

Seeing weird latency issues in the btree node read path - add one
bch2_btree_node_read_done().
Signed-off-by: default avatarKent Overstreet <kent.overstreet@linux.dev>
parent b819f308
...@@ -425,6 +425,7 @@ BCH_DEBUG_PARAMS_DEBUG() ...@@ -425,6 +425,7 @@ BCH_DEBUG_PARAMS_DEBUG()
x(btree_node_merge) \ x(btree_node_merge) \
x(btree_node_sort) \ x(btree_node_sort) \
x(btree_node_read) \ x(btree_node_read) \
x(btree_node_read_done) \
x(btree_interior_update_foreground) \ x(btree_interior_update_foreground) \
x(btree_interior_update_total) \ x(btree_interior_update_total) \
x(btree_gc) \ x(btree_gc) \
......
...@@ -942,6 +942,7 @@ int bch2_btree_node_read_done(struct bch_fs *c, struct bch_dev *ca, ...@@ -942,6 +942,7 @@ int bch2_btree_node_read_done(struct bch_fs *c, struct bch_dev *ca,
unsigned ptr_written = btree_ptr_sectors_written(&b->key); unsigned ptr_written = btree_ptr_sectors_written(&b->key);
struct printbuf buf = PRINTBUF; struct printbuf buf = PRINTBUF;
int ret = 0, retry_read = 0, write = READ; int ret = 0, retry_read = 0, write = READ;
u64 start_time = local_clock();
b->version_ondisk = U16_MAX; b->version_ondisk = U16_MAX;
/* We might get called multiple times on read retry: */ /* We might get called multiple times on read retry: */
...@@ -1209,6 +1210,7 @@ int bch2_btree_node_read_done(struct bch_fs *c, struct bch_dev *ca, ...@@ -1209,6 +1210,7 @@ int bch2_btree_node_read_done(struct bch_fs *c, struct bch_dev *ca,
out: out:
mempool_free(iter, &c->fill_iter); mempool_free(iter, &c->fill_iter);
printbuf_exit(&buf); printbuf_exit(&buf);
bch2_time_stats_update(&c->times[BCH_TIME_btree_node_read_done], start_time);
return retry_read; return retry_read;
fsck_err: fsck_err:
if (ret == -BCH_ERR_btree_node_read_err_want_retry || if (ret == -BCH_ERR_btree_node_read_err_want_retry ||
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment