diff options
author | Kent Overstreet <kent.overstreet@gmail.com> | 2020-11-02 23:51:33 -0500 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@linux.dev> | 2023-10-22 17:08:46 -0400 |
commit | b5e8a6992fb1195cb58cb79461ef50f474c27608 (patch) | |
tree | 36f50306eb535b2b1860fabaf41e87fc87a24a97 /fs/bcachefs/bcachefs.h | |
parent | df082b3a50e02bb8dfc583cea29ab94ab1a04692 (diff) |
bcachefs: Improved inode create optimization
This shards new inodes into different btree nodes by using the processor
ID for the high bits of the new inode number. Much faster than the
previous inode create optimization - this also helps with sharding in
the other btrees that index by inode number.
Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Diffstat (limited to 'fs/bcachefs/bcachefs.h')
-rw-r--r-- | fs/bcachefs/bcachefs.h | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/fs/bcachefs/bcachefs.h b/fs/bcachefs/bcachefs.h index d56057f27e8f..c14117227dd7 100644 --- a/fs/bcachefs/bcachefs.h +++ b/fs/bcachefs/bcachefs.h @@ -814,11 +814,8 @@ mempool_t bio_bounce_pages; struct mutex verify_lock; #endif - struct mutex inode_create_lock; - unsigned unused_inodes_nr; - u64 unused_inodes[64]; - u32 unused_inodes_gens[64]; - u64 unused_inode_hint; + u64 *unused_inode_hints; + unsigned inode_shard_bits; /* * A btree node on disk could have too many bsets for an iterator to fit |