diff options
author | Qi Wang <interwq@gwu.edu> | 2017-12-08 12:13:50 -0800 |
---|---|---|
committer | Qi Wang <interwq@gmail.com> | 2017-12-18 12:57:07 -0800 |
commit | 740bdd68b1d4b9c39c68432e06deb70ad4da3210 (patch) | |
tree | 0424df6e414f9e5c03fa50623572da38955b18ca /include | |
parent | f70785de91ee14e8034f9bd64bf6590199c89e65 (diff) | |
download | platform_external_jemalloc_new-740bdd68b1d4b9c39c68432e06deb70ad4da3210.tar.gz platform_external_jemalloc_new-740bdd68b1d4b9c39c68432e06deb70ad4da3210.tar.bz2 platform_external_jemalloc_new-740bdd68b1d4b9c39c68432e06deb70ad4da3210.zip |
Over purge by 1 extent always.
When purging, large allocations are usually the ones that cross the npages_limit
threshold, simply because they are "large". This means we often leave the large
extent around for a while, which has the downsides of: 1) high RSS and 2) more
chance of them getting fragmented. Given that they are not likely to be reused
very soon (LRU), let's over purge by 1 extent (which is often large and not
reused frequently).
Diffstat (limited to 'include')
-rw-r--r-- | include/jemalloc/internal/extent_externs.h | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/include/jemalloc/internal/extent_externs.h b/include/jemalloc/internal/extent_externs.h index a76d4e4a..b8a4d026 100644 --- a/include/jemalloc/internal/extent_externs.h +++ b/include/jemalloc/internal/extent_externs.h @@ -38,8 +38,7 @@ extent_t *extents_alloc(tsdn_t *tsdn, arena_t *arena, void extents_dalloc(tsdn_t *tsdn, arena_t *arena, extent_hooks_t **r_extent_hooks, extents_t *extents, extent_t *extent); extent_t *extents_evict(tsdn_t *tsdn, arena_t *arena, - extent_hooks_t **r_extent_hooks, extents_t *extents, size_t npages_min, - size_t npages_max); + extent_hooks_t **r_extent_hooks, extents_t *extents, size_t npages_min); void extents_prefork(tsdn_t *tsdn, extents_t *extents); void extents_postfork_parent(tsdn_t *tsdn, extents_t *extents); void extents_postfork_child(tsdn_t *tsdn, extents_t *extents); |