Fix unbounded increase in stash_decayed.

Added an upper bound on how many pages we can decay during the current run.
Without this, decay could have unbounded increase in stashed, since other
threads could add new pages into the extents.
This commit is contained in:
Qi Wang
2017-11-08 13:59:21 -08:00
committed by Qi Wang
parent 6dd5681ab7
commit b5d071c266
3 changed files with 23 additions and 15 deletions

View File

@@ -36,7 +36,8 @@ 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);
extent_hooks_t **r_extent_hooks, extents_t *extents, size_t npages_min,
size_t npages_max);
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);