Use regular arena allocation for huge tree nodes.

This avoids grabbing the base mutex, as a step towards fine-grained
locking for huge allocations. The thread cache also provides a tiny
(~3%) improvement for serial huge allocations.
This commit is contained in:
Daniel Micay
2014-10-06 03:42:10 -04:00
committed by Jason Evans
parent 8bb3198f72
commit f22214a29d
5 changed files with 29 additions and 15 deletions

View File

@@ -938,7 +938,7 @@ idalloct(tsd_t *tsd, void *ptr, bool try_tcache)
if (chunk != ptr)
arena_dalloc(tsd, chunk, ptr, try_tcache);
else
huge_dalloc(ptr);
huge_dalloc(tsd, ptr);
}
JEMALLOC_ALWAYS_INLINE void
@@ -952,7 +952,7 @@ isdalloct(tsd_t *tsd, void *ptr, size_t size, bool try_tcache)
if (chunk != ptr)
arena_sdalloc(tsd, chunk, ptr, size, try_tcache);
else
huge_dalloc(ptr);
huge_dalloc(tsd, ptr);
}
JEMALLOC_ALWAYS_INLINE void