From: Alexander Lobakin <[email protected]> Date: Fri, 24 Nov 2023 16:47:31 +0100
> Expand the libie generic per-queue stats with the generic Page Pool > stats provided by the API itself, when CONFIG_PAGE_POOL_STATS is > enabled. When it's not, there'll be no such fields in the stats > structure, so no space wasted. Jakub, Do I get it correctly that after Page Pool Netlink introspection was merged, this commit makes no sense and we shouln't add PP stats to the drivers private ones? > They are also a bit special in terms of how they are obtained. One > &page_pool accumulates statistics until it's destroyed obviously, which > happens on ifdown. So, in order to not lose any statistics, get the > stats and store them in the queue container before destroying the pool. > This container survives ifups/downs, so it basically stores the > statistics accumulated since the very first pool was allocated on this > queue. When it's needed to export the stats, first get the numbers from > this container and then add the "live" numbers -- the ones that the > current active pool returns. The result values will always represent > the actual device-lifetime stats. > There's a cast from &page_pool_stats to `u64 *` in a couple functions, > but they are guarded with stats asserts to make sure it's safe to do. > FWIW it saves a lot of object code. Thanks, Olek _______________________________________________ Intel-wired-lan mailing list [email protected] https://lists.osuosl.org/mailman/listinfo/intel-wired-lan
