page_pool_get_stats(9)
π page_pool_get_stats(9) π
okay so bestie, you're reading the Kernel API Manual page for page_pool_get_stats and honestly? iconic of you. let's get into it π«Ά
β¨ NAME β¨
page_pool_get_stats β fetch page pool stats π
like, literally go get the stats, that's the whole job
πΈ SYNOPSIS πΈ
void page_pool_get_stats (const struct page_pool *pool , struct
page_pool_stats *stats );
no cap, that's the signature. two args, one void return, we move π
π¦ ARGUMENTS π¦
poolβ the pool from which the page was allocated β¨ this is your main character right herestatsβ astruct page_pool_statsto fill in π you hand it over empty and it comes back full, it's giving makeover
π DESCRIPTION π
first things first, bestie, and I need you to hear me: this is a deprecated driver API for querying stats π I know. I know. but listen β page pool stats can be queried via netdev Netlink now, so that's the vibe going forward. periodt.
so what does this actually do? it retrieves statistics about the page_pool β
heads up babes π this API is only available if the kernel has been configured with CONFIG_PAGE_POOL_STATS=y. so do your vibe check on that config first, okay?
here's the flow, and it's honestly so simple: a pointer to a caller allocated struct page_pool_stats structure is passed to this API, and it gets filled in π that's it. that's the whole thing.
and then? the caller can report those stats to the user π₯ perhaps via ethtool, debugfs, etc. β like, you do you, the delivery mechanism is your choice, slay.
π SEE ALSO π
- Kernel file
./net/core/page_pool.c page_pool_create_percpu(9)π§page_pool_create(9)πpage_pool_put_netmem_bulk(9)πpage_pool_enable_direct_recycling(9)β
go read those too, iykyk π
and that's the page! mwah π this came from ./net/core, dated October 2026 β yes, from the future, we're built different over here π₯πβ¨
π¦ 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