Re: [PATCH net-next v2 4/4] net: hns3: support skb's frag page recycling based on page pool
From: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Date: 2021-09-08 15:26:45
Also in:
bpf, lkml
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:quoted
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