mirror of
https://github.com/microsoft/mimalloc.git
synced 2025-07-02 09:44:37 +03:00
use enqueue_from_full, and keep inserting at the end
This commit is contained in:
parent
0316cb1d88
commit
a7e7cbac89
2 changed files with 6 additions and 7 deletions
|
@ -330,12 +330,13 @@ static void mi_page_queue_enqueue_from_ex(mi_page_queue_t* to, mi_page_queue_t*
|
|||
}
|
||||
|
||||
static void mi_page_queue_enqueue_from(mi_page_queue_t* to, mi_page_queue_t* from, mi_page_t* page) {
|
||||
mi_page_queue_enqueue_from_ex(to, from, true, page);
|
||||
mi_page_queue_enqueue_from_ex(to, from, true /* enqueue at the end */, page);
|
||||
}
|
||||
|
||||
// static void mi_page_queue_enqueue_from_at_start(mi_page_queue_t* to, mi_page_queue_t* from, mi_page_t* page) {
|
||||
// mi_page_queue_enqueue_from_ex(to, from, false, page);
|
||||
// }
|
||||
static void mi_page_queue_enqueue_from_full(mi_page_queue_t* to, mi_page_queue_t* from, mi_page_t* page) {
|
||||
// note: we could insert at the front to increase reuse, but it slows down certain benchmarks (like `alloc-test`)
|
||||
mi_page_queue_enqueue_from_ex(to, from, true /* enqueue at the end of the `to` queue? */, page);
|
||||
}
|
||||
|
||||
// Only called from `mi_heap_absorb`.
|
||||
size_t _mi_page_queue_append(mi_heap_t* heap, mi_page_queue_t* pq, mi_page_queue_t* append) {
|
||||
|
|
|
@ -357,9 +357,7 @@ void _mi_page_unfull(mi_page_t* page) {
|
|||
mi_page_set_in_full(page, false); // to get the right queue
|
||||
mi_page_queue_t* pq = mi_heap_page_queue_of(heap, page);
|
||||
mi_page_set_in_full(page, true);
|
||||
mi_page_queue_enqueue_from(pq, pqfull, page);
|
||||
// we could insert at the front to increase reuse, but it slows down certain benchmarks (like alloc-test)
|
||||
// mi_page_queue_enqueue_from_at_start(pq, pqfull, page);
|
||||
mi_page_queue_enqueue_from_full(pq, pqfull, page);
|
||||
}
|
||||
|
||||
static void mi_page_to_full(mi_page_t* page, mi_page_queue_t* pq) {
|
||||
|
|
Loading…
Add table
Reference in a new issue