mirror of
https://github.com/jemalloc/jemalloc.git
synced 2026-07-24 22:03:07 +00:00
Revert "Use try_flush first in tcache_dalloc."
This reverts commit b0c2a28280. Production
benchmark shows this caused significant regression in both CPU and memory
consumption. Will investigate separately later on.
This commit is contained in:
@@ -201,12 +201,9 @@ tcache_dalloc_small(tsd_t *tsd, tcache_t *tcache, void *ptr, szind_t binind,
|
|||||||
tbin = tcache_small_bin_get(tcache, binind);
|
tbin = tcache_small_bin_get(tcache, binind);
|
||||||
tbin_info = &tcache_bin_info[binind];
|
tbin_info = &tcache_bin_info[binind];
|
||||||
if (unlikely(tbin->ncached == tbin_info->ncached_max)) {
|
if (unlikely(tbin->ncached == tbin_info->ncached_max)) {
|
||||||
if (tcache_bin_try_flush_small(tsd, tcache, tbin, binind,
|
|
||||||
(tbin_info->ncached_max >> 1)) == 0) {
|
|
||||||
tcache_bin_flush_small(tsd, tcache, tbin, binind,
|
tcache_bin_flush_small(tsd, tcache, tbin, binind,
|
||||||
(tbin_info->ncached_max >> 1));
|
(tbin_info->ncached_max >> 1));
|
||||||
}
|
}
|
||||||
}
|
|
||||||
assert(tbin->ncached < tbin_info->ncached_max);
|
assert(tbin->ncached < tbin_info->ncached_max);
|
||||||
tbin->ncached++;
|
tbin->ncached++;
|
||||||
*(tbin->avail - tbin->ncached) = ptr;
|
*(tbin->avail - tbin->ncached) = ptr;
|
||||||
@@ -230,12 +227,9 @@ tcache_dalloc_large(tsd_t *tsd, tcache_t *tcache, void *ptr, szind_t binind,
|
|||||||
tbin = tcache_large_bin_get(tcache, binind);
|
tbin = tcache_large_bin_get(tcache, binind);
|
||||||
tbin_info = &tcache_bin_info[binind];
|
tbin_info = &tcache_bin_info[binind];
|
||||||
if (unlikely(tbin->ncached == tbin_info->ncached_max)) {
|
if (unlikely(tbin->ncached == tbin_info->ncached_max)) {
|
||||||
if (tcache_bin_try_flush_large(tsd, tcache, tbin, binind,
|
|
||||||
(tbin_info->ncached_max >> 1)) == 0) {
|
|
||||||
tcache_bin_flush_large(tsd, tcache, tbin, binind,
|
tcache_bin_flush_large(tsd, tcache, tbin, binind,
|
||||||
(tbin_info->ncached_max >> 1));
|
(tbin_info->ncached_max >> 1));
|
||||||
}
|
}
|
||||||
}
|
|
||||||
assert(tbin->ncached < tbin_info->ncached_max);
|
assert(tbin->ncached < tbin_info->ncached_max);
|
||||||
tbin->ncached++;
|
tbin->ncached++;
|
||||||
*(tbin->avail - tbin->ncached) = ptr;
|
*(tbin->avail - tbin->ncached) = ptr;
|
||||||
|
|||||||
Reference in New Issue
Block a user