summaryrefslogtreecommitdiff
path: root/src/segment.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/segment.c')
-rw-r--r--src/segment.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/segment.c b/src/segment.c
index 470632c..800d4fc 100644
--- a/src/segment.c
+++ b/src/segment.c
@@ -1364,7 +1364,7 @@ static mi_segment_t* mi_segment_try_reclaim(mi_heap_t* heap, size_t needed_slice
{
*reclaimed = false;
mi_segment_t* segment;
- int max_tries = 8; // limit the work to bound allocation times
+ long max_tries = mi_option_get_clamp(mi_option_max_segment_reclaim, 8, 1024); // limit the work to bound allocation times
while ((max_tries-- > 0) && ((segment = mi_abandoned_pop()) != NULL)) {
segment->abandoned_visits++;
bool has_page = mi_segment_check_free(segment,needed_slices,block_size,tld); // try to free up pages (due to concurrent frees)