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: > > > > 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. 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