From: Kent Overstreet Date: Wed, 11 Sep 2013 02:07:00 +0000 (-0700) Subject: bcache: Incremental gc X-Git-Tag: v3.13-rc1~68^2~1^2~11 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a1f0358b2bf69be216cb6e4ea40fe7ae4d38b8a6;p=pandora-kernel.git 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 --- Reading git-diff-tree failed