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

From: Ilias Apalodimas
Date: Wed Sep 08 2021 - 11:26:45 EST


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