summaryrefslogtreecommitdiff
path: root/include/mimalloc-internal.h
diff options
context:
space:
mode:
authordaan <daan@effp.org>2022-10-31 10:34:55 -0700
committerdaan <daan@effp.org>2022-10-31 10:34:55 -0700
commit7bef5f5f5b2cde374e1ac8b38f708de88c2dee52 (patch)
treee44f3531782d9bfef0551ca14b9de179abf2afbd /include/mimalloc-internal.h
parentbdc9dc3e4e10dc77cb3415dc1a82d75bd577a4cb (diff)
reduce contention on the delayed_free lock; see issue #630
Diffstat (limited to 'include/mimalloc-internal.h')
-rw-r--r--include/mimalloc-internal.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/include/mimalloc-internal.h b/include/mimalloc-internal.h
index 7f16544..eecfea0 100644
--- a/include/mimalloc-internal.h
+++ b/include/mimalloc-internal.h
@@ -113,10 +113,11 @@ void _mi_page_retire(mi_page_t* page) mi_attr_noexcept; /
void _mi_page_unfull(mi_page_t* page);
void _mi_page_free(mi_page_t* page, mi_page_queue_t* pq, bool force); // free the page
void _mi_page_abandon(mi_page_t* page, mi_page_queue_t* pq); // abandon the page, to be picked up by another thread...
-void _mi_heap_delayed_free(mi_heap_t* heap);
+void _mi_heap_delayed_free_all(mi_heap_t* heap);
+bool _mi_heap_delayed_free_partial(mi_heap_t* heap);
void _mi_heap_collect_retired(mi_heap_t* heap, bool force);
-void _mi_page_use_delayed_free(mi_page_t* page, mi_delayed_t delay, bool override_never);
+bool _mi_page_use_delayed_free(mi_page_t* page, mi_delayed_t delay, bool override_never);
size_t _mi_page_queue_append(mi_heap_t* heap, mi_page_queue_t* pq, mi_page_queue_t* append);
void _mi_deferred_free(mi_heap_t* heap, bool force);