Hi Jakub,
On Wed, Sep 08, 2021 at 08:08:43AM -0700, Jakub Kicinski wrote:
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:
- 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.
- 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:
Add it to queue statistics and query it by ethtool -S.
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.
I can't really disagree on the aforementioned stats being confusing. However at some point we'll want to add more useful page_pool stats (e.g the percentage of the page/page fragments that are hitting the recycling path). Would it still be 'ok' to have info split across ethtool and debugfs?
Regards /Ilias