diff options
author | Kent Overstreet <kmo@daterainc.com> | 2013-09-10 19:07:00 -0700 |
---|---|---|
committer | Kent Overstreet <kmo@daterainc.com> | 2013-11-10 21:56:37 -0800 |
commit | a1f0358b2bf69be216cb6e4ea40fe7ae4d38b8a6 (patch) | |
tree | 287cf5c3daa6ae4ec2ffc55b33b6df52c617f7f7 /drivers/lguest/segments.c | |
parent | 8835c1234dd9a838993a2d5cb7572f57992ebbee (diff) | |
download | op-kernel-dev-a1f0358b2bf69be216cb6e4ea40fe7ae4d38b8a6.zip op-kernel-dev-a1f0358b2bf69be216cb6e4ea40fe7ae4d38b8a6.tar.gz |
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/lguest/segments.c')
0 files changed, 0 insertions, 0 deletions