Convert rtree from per chunk to per page.

Refactor [de]registration to maintain interior rtree entries for slabs.
This commit is contained in:
Jason Evans
2016-05-24 18:22:10 -07:00
parent 5c6be2bdd3
commit 47613afc34
5 changed files with 94 additions and 52 deletions

View File

@@ -54,10 +54,10 @@ chunk_hooks_t chunk_hooks_set(tsdn_t *tsdn, arena_t *arena,
extent_t *chunk_alloc_cache(tsdn_t *tsdn, arena_t *arena,
chunk_hooks_t *chunk_hooks, void *new_addr, size_t size, size_t alignment,
bool *zero);
bool *zero, bool slab);
extent_t *chunk_alloc_wrapper(tsdn_t *tsdn, arena_t *arena,
chunk_hooks_t *chunk_hooks, void *new_addr, size_t size, size_t alignment,
bool *zero, bool *commit);
bool *zero, bool *commit, bool slab);
void chunk_dalloc_cache(tsdn_t *tsdn, arena_t *arena,
chunk_hooks_t *chunk_hooks, extent_t *extent);
void chunk_dalloc_wrapper(tsdn_t *tsdn, arena_t *arena,

View File

@@ -146,7 +146,6 @@ JEMALLOC_INLINE bool
extent_retained_get(const extent_t *extent)
{
assert(!extent->e_slab);
return (qr_next(&extent->rd, rd_link) == &extent->rd);
}
@@ -161,7 +160,6 @@ JEMALLOC_INLINE bool
extent_committed_get(const extent_t *extent)
{
assert(!extent->e_slab);
return (extent->e_committed);
}