about summary refs log tree commit diff
path: root/misc
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2012-03-26T18·43+0200
committerEelco Dolstra <eelco.dolstra@logicblox.com>2012-03-26T18·43+0200
commit117670be570d775a18e4e35db3dae00abc24f729 (patch)
tree426cc5f0185457c719eee2287b769202311784d8 /misc
parent8be1979f1ae4b85c36988f7b3cf8240c9682dc54 (diff)
Make the garbage collector more concurrent
Make the garbage collector more concurrent by deleting valid paths
outside the region where we're holding the global GC lock.  This
should greatly reduce the time during which new builds are blocked,
since the deletion accounts for the vast majority of the time spent in
the GC.

To ensure that this is safe, the valid paths are invalidated and
renamed to some arbitrary path while we're holding the lock.  This
ensures that we when we finally delete the path, it's not a (newly)
valid or locked path.
Diffstat (limited to 'misc')
0 files changed, 0 insertions, 0 deletions