psset: Do first-fit based on slab age.
This functions more like the serial number strategy of the ecache and hpa_central_t. Longer-lived slabs are more likely to continue to live for longer in the future.
This commit is contained in:
committed by
David Goldblatt
parent
634ec6f50a
commit
d16849c91d
@@ -44,7 +44,7 @@ struct psset_s {
|
||||
* The pageslabs, quantized by the size class of the largest contiguous
|
||||
* free run of pages in a pageslab.
|
||||
*/
|
||||
edata_heap_t pageslabs[PSSET_NPSIZES];
|
||||
edata_age_heap_t pageslabs[PSSET_NPSIZES];
|
||||
bitmap_t bitmap[BITMAP_GROUPS(PSSET_NPSIZES)];
|
||||
/*
|
||||
* Full slabs don't live in any edata heap. But we still track their
|
||||
@@ -52,6 +52,9 @@ struct psset_s {
|
||||
*/
|
||||
psset_bin_stats_t full_slab_stats;
|
||||
psset_bin_stats_t slab_stats[PSSET_NPSIZES];
|
||||
|
||||
/* How many alloc_new calls have happened? */
|
||||
uint64_t age_counter;
|
||||
};
|
||||
|
||||
void psset_init(psset_t *psset);
|
||||
|
Reference in New Issue
Block a user