On 06/03/2025 10:32, Sebastian Andrzej Siewior wrote:
On 2025-03-05 21:20:57 [+0100], To Tariq Toukan wrote:
I like the direction of this patch, but we won't give up the per-ring
counters. Please keep them.
Hmm. Okay. I guess I could stuff a struct there. But it really looks
like waste since it is not used.
I can think of a new "customized page_pool counters strings" API, where the
strings prefix is provided by the driver, and used to generate the per-pool
strings.
Okay. So I make room for it and you wire it up ;)
Could I keep it as-is for now with the removal of the counter from the
RQ since we don't have the per-queue/ ring API for it now?
I'm fine with transition to generic APIs, as long as we get no regression.
We must keep the per-ring counters exposed.
It is not too
hard it back later on.
The thing is that page_pool_get_stats() sums up the individual stats
(from each ring) and it works as intended. To do what you ask for, you I
would have to add a struct page_pool_stats to each struct mlx5e_rq_stats
for the per-ring stats (so far so good) but then I would have manually
merge the stats into one struct page_pool_stats to expose it via
page_pool_ethtool_stats_get(). Then I am touching it again while
changing the type of the counters and this is how this patch started.
Sebastian