HPA: Some minor reformattings.
This commit is contained in:
parent
b25ee5d88e
commit
94cd9444c5
@ -77,6 +77,10 @@ struct hpdata_s {
|
|||||||
fb_group_t dirty_pages[FB_NGROUPS(HUGEPAGE_PAGES)];
|
fb_group_t dirty_pages[FB_NGROUPS(HUGEPAGE_PAGES)];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
TYPED_LIST(hpdata_list, hpdata_t, ql_link)
|
||||||
|
typedef ph(hpdata_t) hpdata_age_heap_t;
|
||||||
|
ph_proto(, hpdata_age_heap_, hpdata_age_heap_t, hpdata_t);
|
||||||
|
|
||||||
static inline void *
|
static inline void *
|
||||||
hpdata_addr_get(const hpdata_t *hpdata) {
|
hpdata_addr_get(const hpdata_t *hpdata) {
|
||||||
return hpdata->h_address;
|
return hpdata->h_address;
|
||||||
@ -188,11 +192,6 @@ hpdata_assert_consistent(hpdata_t *hpdata) {
|
|||||||
assert(hpdata_consistent(hpdata));
|
assert(hpdata_consistent(hpdata));
|
||||||
}
|
}
|
||||||
|
|
||||||
TYPED_LIST(hpdata_list, hpdata_t, ql_link)
|
|
||||||
|
|
||||||
typedef ph(hpdata_t) hpdata_age_heap_t;
|
|
||||||
ph_proto(, hpdata_age_heap_, hpdata_age_heap_t, hpdata_t);
|
|
||||||
|
|
||||||
static inline bool
|
static inline bool
|
||||||
hpdata_empty(hpdata_t *hpdata) {
|
hpdata_empty(hpdata_t *hpdata) {
|
||||||
return hpdata->h_nactive == 0;
|
return hpdata->h_nactive == 0;
|
||||||
|
12
src/hpa.c
12
src/hpa.c
@ -135,16 +135,20 @@ hpa_alloc_ps(tsdn_t *tsdn, hpa_shard_t *shard) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static bool
|
static bool
|
||||||
hpa_should_hugify(hpa_shard_t *shard, hpdata_t *ps) {
|
hpa_good_hugification_candidate(hpa_shard_t *shard, hpdata_t *ps) {
|
||||||
/*
|
/*
|
||||||
* For now, just use a static check; hugify a page if it's <= 5%
|
* For now, just use a static check; hugify a page if it's <= 5%
|
||||||
* inactive. Eventually, this should be a malloc conf option.
|
* inactive. Eventually, this should be a malloc conf option.
|
||||||
*/
|
*/
|
||||||
if (hpdata_changing_state_get(ps)) {
|
return hpdata_nactive_get(ps) >= (HUGEPAGE_PAGES) * 95 / 100;
|
||||||
|
}
|
||||||
|
|
||||||
|
static bool
|
||||||
|
hpa_should_hugify(hpa_shard_t *shard, hpdata_t *ps) {
|
||||||
|
if (hpdata_changing_state_get(ps) || hpdata_huge_get(ps)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
return !hpdata_huge_get(ps)
|
return hpa_good_hugification_candidate(shard, ps);
|
||||||
&& hpdata_nactive_get(ps) >= (HUGEPAGE_PAGES) * 95 / 100;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
Loading…
Reference in New Issue
Block a user