aboutsummaryrefslogtreecommitdiff
path: root/fs/bcachefs/btree_types.h
diff options
context:
space:
mode:
authorGravatar Daniel Hill <daniel@gluo.nz> 2022-07-14 20:33:09 +1200
committerGravatar Kent Overstreet <kent.overstreet@linux.dev> 2023-10-22 17:09:35 -0400
commitc807ca95a6e20bedbbb84287bc7087c2b2b775de (patch)
tree0add067029709ede728fd48ca3761325fe1cd8fc /fs/bcachefs/btree_types.h
parentbcachefs: bch2_time_stats_to_text now indents properly (diff)
downloadlinux-c807ca95a6e20bedbbb84287bc7087c2b2b775de.tar.gz
linux-c807ca95a6e20bedbbb84287bc7087c2b2b775de.tar.bz2
linux-c807ca95a6e20bedbbb84287bc7087c2b2b775de.zip
bcachefs: added lock held time stats
We now record the length of time btree locks are held and expose this in debugfs. Enabled via CONFIG_BCACHEFS_LOCK_TIME_STATS. Signed-off-by: Daniel Hill <daniel@gluo.nz> Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Diffstat (limited to 'fs/bcachefs/btree_types.h')
-rw-r--r--fs/bcachefs/btree_types.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/fs/bcachefs/btree_types.h b/fs/bcachefs/btree_types.h
index b184ec512499..8cf3ef749020 100644
--- a/fs/bcachefs/btree_types.h
+++ b/fs/bcachefs/btree_types.h
@@ -251,6 +251,9 @@ struct btree_path {
struct btree *b;
struct btree_node_iter iter;
u32 lock_seq;
+#ifdef CONFIG_BCACHEFS_LOCK_TIME_STATS
+ u64 lock_taken_time;
+#endif
} l[BTREE_MAX_DEPTH];
#ifdef CONFIG_BCACHEFS_DEBUG
unsigned long ip_allocated;
@@ -436,6 +439,7 @@ struct btree_trans {
unsigned journal_u64s;
unsigned journal_preres_u64s;
struct replicas_delta_list *fs_usage_deltas;
+ int lock_name_idx;
};
#define BTREE_FLAGS() \