lsa: Reclaim 1 segment by default

Reclaiming many segments was observed to cause up to multi-ms
latency. With the new setting, the latency of reclamation cycle with
full segments (worst case mode) is below 1ms.

I saw no decrease in throughput compared to the step of 16 segments in
neither of these modes:
  - full segments, reclaim by random evicition
  - sparse segments (3% occupancy), reclaim by compaction and no eviction

Fixes #1274.
This commit is contained in:
Tomasz Grabiec
2016-06-13 17:50:37 +02:00
parent 86b76171a8
commit cd9955d2ce

View File

@@ -55,7 +55,7 @@ class tracker::impl {
std::vector<region::impl*> _regions;
scollectd::registrations _collectd_registrations;
bool _reclaiming_enabled = true;
size_t _reclamation_step = 16;
size_t _reclamation_step = 1;
private:
// Prevents tracker's reclaimer from running while live. Reclaimer may be
// invoked synchronously with allocator. This guard ensures that this