diff options
author | Kent Overstreet <kmo@daterainc.com> | 2013-09-10 22:07:00 -0400 |
---|---|---|
committer | Kent Overstreet <kmo@daterainc.com> | 2013-11-11 00:56:37 -0500 |
commit | a1f0358b2bf69be216cb6e4ea40fe7ae4d38b8a6 (patch) | |
tree | 287cf5c3daa6ae4ec2ffc55b33b6df52c617f7f7 /drivers/md/bcache/sysfs.c | |
parent | 8835c1234dd9a838993a2d5cb7572f57992ebbee (diff) |
bcache: Incremental gc
Big garbage collection rewrite; now, garbage collection uses the same
mechanisms as used elsewhere for inserting/updating btree node pointers,
instead of rewriting interior btree nodes in place.
This makes the code significantly cleaner and less fragile, and means we
can now make garbage collection incremental - it doesn't have to hold a
write lock on the root of the btree for the entire duration of garbage
collection.
This means that there's less of a latency hit for doing garbage
collection, which means we can gc more frequently (and do a better job
of reclaiming from the cache), and we can coalesce across more btree
nodes (improving our space efficiency).
Signed-off-by: Kent Overstreet <kmo@daterainc.com>
Diffstat (limited to 'drivers/md/bcache/sysfs.c')
-rw-r--r-- | drivers/md/bcache/sysfs.c | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/drivers/md/bcache/sysfs.c b/drivers/md/bcache/sysfs.c index 9687771ec6f3..c5f73e34d016 100644 --- a/drivers/md/bcache/sysfs.c +++ b/drivers/md/bcache/sysfs.c | |||
@@ -489,7 +489,6 @@ lock_root: | |||
489 | 489 | ||
490 | sysfs_print(btree_used_percent, btree_used(c)); | 490 | sysfs_print(btree_used_percent, btree_used(c)); |
491 | sysfs_print(btree_nodes, c->gc_stats.nodes); | 491 | sysfs_print(btree_nodes, c->gc_stats.nodes); |
492 | sysfs_hprint(dirty_data, c->gc_stats.dirty); | ||
493 | sysfs_hprint(average_key_size, average_key_size(c)); | 492 | sysfs_hprint(average_key_size, average_key_size(c)); |
494 | 493 | ||
495 | sysfs_print(cache_read_races, | 494 | sysfs_print(cache_read_races, |
@@ -642,7 +641,6 @@ static struct attribute *bch_cache_set_files[] = { | |||
642 | &sysfs_cache_available_percent, | 641 | &sysfs_cache_available_percent, |
643 | 642 | ||
644 | &sysfs_average_key_size, | 643 | &sysfs_average_key_size, |
645 | &sysfs_dirty_data, | ||
646 | 644 | ||
647 | &sysfs_errors, | 645 | &sysfs_errors, |
648 | &sysfs_io_error_limit, | 646 | &sysfs_io_error_limit, |