linux/fs/bcachefs
Kent Overstreet 2177147b39 bcachefs: Improve bset compaction
The previous patch that fixed btree nodes being written too aggressively
now meant that we weren't sorting btree node bsets optimally - this
patch fixes that.

Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-10-22 17:08:59 -04:00
..
acl.c bcachefs: Require all btree iterators to be freed 2023-10-22 17:08:56 -04:00
acl.h bcachefs: Kill ei_str_hash 2023-10-22 17:08:55 -04:00
alloc_background.c bcachefs: Don't unconditially version_upgrade in initialize 2023-10-22 17:08:56 -04:00
alloc_background.h bcachefs: Fix for copygc getting stuck waiting for reserve to be filled 2023-10-22 17:08:54 -04:00
alloc_foreground.c bcachefs: Fix copygc threshold 2023-10-22 17:08:54 -04:00
alloc_foreground.h
alloc_types.h bcachefs: Add allocator thread state to sysfs 2023-10-22 17:08:54 -04:00
bcachefs.h bcachefs: Add a sysfs var for average btree write size 2023-10-22 17:08:58 -04:00
bcachefs_format.h bcachefs: Inode backpointers 2023-10-22 17:08:58 -04:00
bcachefs_ioctl.h bcachefs: Add code to scan for/rewite old btree nodes 2023-10-22 17:08:54 -04:00
bkey.c bcachefs: Start using bpos.snapshot field 2023-10-22 17:08:57 -04:00
bkey.h bcachefs: Start using bpos.snapshot field 2023-10-22 17:08:57 -04:00
bkey_buf.h bcachefs: Reduce/kill BKEY_PADDED use 2023-10-22 17:08:50 -04:00
bkey_methods.c bcachefs: Start using bpos.snapshot field 2023-10-22 17:08:57 -04:00
bkey_methods.h bcachefs: Kill bkey ops->debugcheck method 2023-10-22 17:08:56 -04:00
bkey_sort.c bcachefs: Drop bkey noops 2023-10-22 17:08:57 -04:00
bkey_sort.h bcachefs: Kill support for !BTREE_NODE_NEW_EXTENT_OVERWRITE() 2023-10-22 17:08:55 -04:00
bset.c bcachefs: kill bset_tree->max_key 2023-10-22 17:08:59 -04:00
bset.h bcachefs: Increase BSET_CACHELINE to 256 bytes 2023-10-22 17:08:59 -04:00
btree_cache.c bcachefs: Improve bset compaction 2023-10-22 17:08:59 -04:00
btree_cache.h bcachefs: Fix BTREE_FOREGROUND_MERGE_HYSTERESIS 2023-10-22 17:08:58 -04:00
btree_gc.c bcachefs: Improve bch2_btree_update_start() 2023-10-22 17:08:58 -04:00
btree_gc.h bcachefs: Split out bpos_cmp() and bkey_cmp() 2023-10-22 17:08:57 -04:00
btree_io.c bcachefs: Improve bset compaction 2023-10-22 17:08:59 -04:00
btree_io.h bcachefs: Improve bset compaction 2023-10-22 17:08:59 -04:00
btree_iter.c bcachefs: Don't flush btree writes more aggressively because of btree key cache 2023-10-22 17:08:59 -04:00
btree_iter.h bcachefs: Drop some memset() calls 2023-10-22 17:08:59 -04:00
btree_key_cache.c bcachefs: Don't flush btree writes more aggressively because of btree key cache 2023-10-22 17:08:59 -04:00
btree_key_cache.h bcachefs: Don't flush btree writes more aggressively because of btree key cache 2023-10-22 17:08:59 -04:00
btree_locking.h bcachefs: Drop trans->nounlock 2023-10-22 17:08:58 -04:00
btree_types.h bcachefs: kill bset_tree->max_key 2023-10-22 17:08:59 -04:00
btree_update.h bcachefs: Add a mechanism for running callbacks at trans commit time 2023-10-22 17:08:57 -04:00
btree_update_interior.c bcachefs: Don't flush btree writes more aggressively because of btree key cache 2023-10-22 17:08:59 -04:00
btree_update_interior.h bcachefs: Improve bset compaction 2023-10-22 17:08:59 -04:00
btree_update_leaf.c bcachefs: Kill bch2_fs_usage_scratch_get() 2023-10-22 17:08:59 -04:00
buckets.c bcachefs: Fix an uninitialized variable 2023-10-22 17:08:59 -04:00
buckets.h bcachefs: Kill bch2_fs_usage_scratch_get() 2023-10-22 17:08:59 -04:00
buckets_types.h bcachefs: Kill bch2_fs_usage_scratch_get() 2023-10-22 17:08:59 -04:00
chardev.c bcachefs: Refactor dev usage 2023-10-22 17:08:52 -04:00
chardev.h
checksum.c
checksum.h bcachefs: Use x-macros for more enums 2023-10-22 17:08:55 -04:00
clock.c bcachefs: Persist 64 bit io clocks 2023-10-22 17:08:52 -04:00
clock.h
clock_types.h bcachefs: Persist 64 bit io clocks 2023-10-22 17:08:52 -04:00
compress.c bcachefs: Work around a zstd bug 2023-10-22 17:08:50 -04:00
compress.h
debug.c bcachefs: Eliminate more PAGE_SIZE uses 2023-10-22 17:08:59 -04:00
debug.h bcachefs: Drop sysfs interface to debug parameters 2023-10-22 17:08:45 -04:00
dirent.c bcachefs: Inode backpointers 2023-10-22 17:08:58 -04:00
dirent.h bcachefs: Inode backpointers 2023-10-22 17:08:58 -04:00
disk_groups.c
disk_groups.h
ec.c bcachefs: Replace bch2_btree_iter_next() calls with bch2_btree_iter_advance 2023-10-22 17:08:56 -04:00
ec.h bcachefs: Have fsck check for stripe pointers matching stripe 2023-10-22 17:08:55 -04:00
ec_types.h bcachefs: Have fsck check for stripe pointers matching stripe 2023-10-22 17:08:55 -04:00
error.c bcachefs: Use x-macros for more enums 2023-10-22 17:08:55 -04:00
error.h bcachefs: Improve some IO error messages 2023-10-22 17:08:49 -04:00
extent_update.c bcachefs: Rename BTREE_ID enums for consistency with other enums 2023-10-22 17:08:55 -04:00
extent_update.h
extents.c bcachefs: Start using bpos.snapshot field 2023-10-22 17:08:57 -04:00
extents.h bcachefs: Split out bpos_cmp() and bkey_cmp() 2023-10-22 17:08:57 -04:00
extents_types.h
eytzinger.h
fifo.h
fs-common.c bcachefs: Change inode allocation code for snapshots 2023-10-22 17:08:58 -04:00
fs-common.h
fs-io.c bcachefs: Require all btree iterators to be freed 2023-10-22 17:08:56 -04:00
fs-io.h
fs-ioctl.c bcachefs: Kill ei_str_hash 2023-10-22 17:08:55 -04:00
fs-ioctl.h
fs.c bcachefs: Replace bch2_btree_iter_next() calls with bch2_btree_iter_advance 2023-10-22 17:08:56 -04:00
fs.h bcachefs: Kill ei_str_hash 2023-10-22 17:08:55 -04:00
fsck.c bcachefs: Inode backpointers 2023-10-22 17:08:58 -04:00
fsck.h
inode.c bcachefs: Change inode allocation code for snapshots 2023-10-22 17:08:58 -04:00
inode.h bcachefs: Change inode allocation code for snapshots 2023-10-22 17:08:58 -04:00
io.c bcachefs: Start using bpos.snapshot field 2023-10-22 17:08:57 -04:00
io.h bcachefs: Fix read retry path for indirect extents 2023-10-22 17:08:56 -04:00
io_types.h bcachefs: Fix read retry path for indirect extents 2023-10-22 17:08:56 -04:00
journal.c bcachefs: Don't flush btree writes more aggressively because of btree key cache 2023-10-22 17:08:59 -04:00
journal.h bcachefs: Eliminate memory barrier from fast path of journal_preres_put() 2023-10-22 17:08:59 -04:00
journal_io.c bcachefs: Start using bpos.snapshot field 2023-10-22 17:08:57 -04:00
journal_io.h bcachefs: Fix compat code for superblock 2023-10-22 17:08:55 -04:00
journal_reclaim.c bcachefs: Don't flush btree writes more aggressively because of btree key cache 2023-10-22 17:08:59 -04:00
journal_reclaim.h bcachefs: Fix race between journal_seq_copy() and journal_seq_drop() 2023-10-22 17:08:50 -04:00
journal_seq_blacklist.c bcachefs: Don't require flush/fua on every journal write 2023-10-22 17:08:49 -04:00
journal_seq_blacklist.h
journal_types.h bcachefs: Don't flush btree writes more aggressively because of btree key cache 2023-10-22 17:08:59 -04:00
Kconfig bcachefs: Take a SRCU lock in btree transactions 2023-10-22 17:08:47 -04:00
keylist.c
keylist.h
keylist_types.h
Makefile bcachefs: New varints 2023-10-22 17:08:46 -04:00
migrate.c bcachefs: Replace bch2_btree_iter_next() calls with bch2_btree_iter_advance 2023-10-22 17:08:56 -04:00
migrate.h
move.c bcachefs: Don't use bch2_inode_find_by_inum() in move.c 2023-10-22 17:08:58 -04:00
move.h bcachefs: Scan for old btree nodes if necessary on mount 2023-10-22 17:08:54 -04:00
move_types.h
movinggc.c bcachefs: Add allocator thread state to sysfs 2023-10-22 17:08:54 -04:00
movinggc.h
opts.c bcachefs: Use x-macros for more enums 2023-10-22 17:08:55 -04:00
opts.h bcachefs: Kill reflink option 2023-10-22 17:08:56 -04:00
quota.c bcachefs: Require all btree iterators to be freed 2023-10-22 17:08:56 -04:00
quota.h
quota_types.h
rebalance.c bcachefs: Use bch2_bpos_to_text() more consistently 2023-10-22 17:08:55 -04:00
rebalance.h
rebalance_types.h bcachefs: Persist 64 bit io clocks 2023-10-22 17:08:52 -04:00
recovery.c bcachefs: Start using bpos.snapshot field 2023-10-22 17:08:57 -04:00
recovery.h bcachefs: Add support for doing btree updates prior to journal replay 2023-10-22 17:08:52 -04:00
reflink.c bcachefs: Require all btree iterators to be freed 2023-10-22 17:08:56 -04:00
reflink.h
replicas.c bcachefs: Kill bch2_fs_usage_scratch_get() 2023-10-22 17:08:59 -04:00
replicas.h bcachefs: Kill bch2_fs_usage_scratch_get() 2023-10-22 17:08:59 -04:00
replicas_types.h
siphash.c
siphash.h
six.c
six.h
str_hash.h bcachefs: Use x-macros for more enums 2023-10-22 17:08:55 -04:00
super-io.c bcachefs: Eliminate more PAGE_SIZE uses 2023-10-22 17:08:59 -04:00
super-io.h bcachefs: Fix compat code for superblock 2023-10-22 17:08:55 -04:00
super.c bcachefs: Eliminate more PAGE_SIZE uses 2023-10-22 17:08:59 -04:00
super.h bcachefs: Use x-macros for more enums 2023-10-22 17:08:55 -04:00
super_types.h bcachefs: Eliminate more PAGE_SIZE uses 2023-10-22 17:08:59 -04:00
sysfs.c bcachefs: Add a sysfs var for average btree write size 2023-10-22 17:08:58 -04:00
sysfs.h
tests.c bcachefs: Start using bpos.snapshot field 2023-10-22 17:08:57 -04:00
tests.h bcachefs: Add error handling to unit & perf tests 2023-10-22 17:08:48 -04:00
trace.c
trace.h bcachefs: Don't flush btree writes more aggressively because of btree key cache 2023-10-22 17:08:59 -04:00
util.c bcachefs: Eliminate more PAGE_SIZE uses 2023-10-22 17:08:59 -04:00
util.h bcachefs: Check for duplicate device ptrs in bch2_bkey_ptrs_invalid() 2023-10-22 17:08:50 -04:00
varint.c bcachefs: New varints 2023-10-22 17:08:46 -04:00
varint.h bcachefs: New varints 2023-10-22 17:08:46 -04:00
vstructs.h
xattr.c bcachefs: Require all btree iterators to be freed 2023-10-22 17:08:56 -04:00
xattr.h