include/mem/page_zeroer.h View source View on GitHub
struct page_zeroer_demand {
struct ewma rate;
struct ewma mad;
atomic_size_t consumed_epoch;
atomic_size_t stockout_epoch;
};
struct page_zeroer_rate {
size_t batch_blocks;
fx32_32_t safety_factor;
fx32_32_t integral;
fx32_32_t idle_scale;
};
struct page_zeroer_watermark {
size_t min_min_blocks;
size_t max_max_blocks;
size_t min_blocks;
size_t max_blocks;
};
struct page_zeroer_quota {
struct page_zeroer_watermark wm;
struct page_zeroer_rate rate;
struct page_zeroer_demand demand;
time_t zero_block_time_ns;
atomic_size_t num_zero_blocks;
};
struct page_zeroer {
struct page_zeroer_quota quotas[BUDDY_MAX_ORDER];
struct daemon *daemon;
};