Re: [PATCH net-next v2 4/4] net: hns3: support skb's frag page recycling based on page pool

From: Jakub Kicinski
Date: Wed Sep 08 2021 - 11:08:51 EST


On Wed, 8 Sep 2021 16:31:40 +0800 moyufeng wrote:
> After adding page pool to hns3 receiving package process,
> we want to add some debug info. Such as below:
>
> 1. count of page pool allocate and free page, which is defined
> for pages_state_hold_cnt and pages_state_release_cnt in page
> pool framework.
>
> 2. pool size、order、nid、dev、max_len, which is setted for
> each rx ring in hns3 driver.
>
> In this regard, we consider two ways to show these info:
>
> 1. Add it to queue statistics and query it by ethtool -S.
>
> 2. Add a file node "page_pool_info" for debugfs, then cat this
> file node, print as below:
>
> queue_id allocate_cnt free_cnt pool_size order nid dev max_len
> 000 xxx xxx xxx xxx xxx xxx xxx
> 001
> 002
> .
> .
>
> Which one is more acceptable, or would you have some other suggestion?

Normally I'd say put the stats in ethtool -S and the rest in debugfs
but I'm not sure if exposing pages_state_hold_cnt and
pages_state_release_cnt directly. Those are short counters, and will
very likely wrap. They are primarily meaningful for calculating
page_pool_inflight(). Given this I think their semantics may be too
confusing for an average ethtool -S user.

Putting all the information in debugfs seems like a better idea.