diff options
author | Jason Evans <jasone@canonware.com> | 2016-11-15 21:07:53 (GMT) |
---|---|---|
committer | Jason Evans <jasone@canonware.com> | 2016-11-15 21:08:33 (GMT) |
commit | a38acf716eefc5284e89a35be74229ef3545d007 (patch) | |
tree | 5ef188dd5051d5bbbf3222ec7857bd4e2b36f0d4 /src/extent_dss.c | |
parent | c0a667112cf33968b425dfbb50594aba54ea850b (diff) | |
download | jemalloc-a38acf716eefc5284e89a35be74229ef3545d007.zip jemalloc-a38acf716eefc5284e89a35be74229ef3545d007.tar.gz jemalloc-a38acf716eefc5284e89a35be74229ef3545d007.tar.bz2 |
Add extent serial numbers.
Add extent serial numbers and use them where appropriate as a sort key
that is higher priority than address, so that the allocation policy
prefers older extents.
This resolves #147.
Diffstat (limited to 'src/extent_dss.c')
-rw-r--r-- | src/extent_dss.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/extent_dss.c b/src/extent_dss.c index 31fe8fe..1169d49 100644 --- a/src/extent_dss.c +++ b/src/extent_dss.c @@ -142,7 +142,8 @@ extent_alloc_dss(tsdn_t *tsdn, arena_t *arena, void *new_addr, size_t size, gap_size = (uintptr_t)ret - (uintptr_t)gap_addr; if (gap_size != 0) { extent_init(gap, arena, gap_addr, gap_size, - gap_size, false, false, true, false); + gap_size, arena_extent_sn_next(arena), + false, false, true, false); } dss_next = (void *)((uintptr_t)ret + size); if ((uintptr_t)ret < (uintptr_t)max_cur || |