STRUCT PAGE_POOL_ALLOC_STATS(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ 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