STRUCT PAGE_POOL_ALLOC_STATS(9)
β¨ NAME β¨
okay so this is struct page_..._alloc_stats(9) β straight out of the Kernel API Manual, bestie β and it's literally the allocation statistics glow-up for page pools. it's giving receipts for every alloc path π
π¦ SYNOPSIS π¦
struct page_pool_alloc_stats {
u64 fast;
u64 slow;
u64 slow_high_order;
u64 empty;
u64 refill;
u64 waive;
};
no cap, that's the whole struct β six u64 counters and they all have main character energy β¨
π Members π
fastβ the successful fast path allocations, aka the ones that ate and left no crumbs π₯slowβ slow path order-0 allocations. lowkey the humble ones but they still show up πslow_high_orderβ slow path high order allocations. highkey fancy, high order, high vibes πemptyβ the ptr ring is empty, so a slow path allocation was forced. not me showing up to an empty ring πrefillβ an allocation which triggered a refill of the cache. snack break for the cache, fr fr πwaiveβ pages obtained from the ptr ring that cannot be added to the cache due to a NUMA mismatch. it's giving "you can't sit with us" π
π SEE ALSO π
Kernel file ./include/net/page_pool/types.h β plus these iconic little cross-references:
struct page_pool_params(9)struct page_pool_recycle_stats(9)struct page_pool_stats(9)
go read them, iykyk π«Ά
and that's the vibe check, bestie. this page was brought to you by the legends over in ./include/net/page_pool, dated October 2026, and it's literally struct page_..._alloc_stats(9) β periodt π
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms