]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
docs: page_pool: drop the mention of the legacy stats API
authorJakub Kicinski <kuba@kernel.org>
Tue, 26 May 2026 15:57:21 +0000 (08:57 -0700)
committerJakub Kicinski <kuba@kernel.org>
Fri, 29 May 2026 01:10:03 +0000 (18:10 -0700)
The Netlink support for querying page pool stats has been
proven out in production, let's remove the mention of the
helper meant for dumping page pool stats into ethtool -S
from the docs.

Call out in the kdoc that this API is deprecated.
Some drivers may not be able to use the Netlink API
(if page pool is shared across netdevs). So the old API
is not _completely_ dead. But we shouldn't advertise it.

Reviewed-by: Nicolai Buchwitz <nb@tipi-net.de>
Reviewed-by: Tariq Toukan <tariqt@nvidia.com>
Link: https://patch.msgid.link/20260526155722.2790742-4-kuba@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Documentation/networking/page_pool.rst
net/core/page_pool.c

index 5409c68be3fcba367e9ff1454d6c8afd4bf6b71b..817f8b78d246041f48b7f93d174acdd1789b6728 100644 (file)
@@ -43,8 +43,17 @@ Architecture overview
 
 Monitoring
 ==========
-Information about page pools on the system can be accessed via the netdev
-genetlink family (see Documentation/netlink/specs/netdev.yaml).
+Information about allocated page pools, their memory use, recycling statistics
+etc. can be accessed via the netdev genetlink family
+(see Documentation/netlink/specs/netdev.yaml).
+
+Statistics
+----------
+
+.. kernel-doc:: include/net/page_pool/types.h
+   :identifiers: struct page_pool_recycle_stats
+                struct page_pool_alloc_stats
+                struct page_pool_stats
 
 API interface
 =============
@@ -74,7 +83,7 @@ that NAPI context, the page pool may safely access consumer-side resources
                 page_pool_get_dma_addr page_pool_get_dma_dir
 
 .. kernel-doc:: net/core/page_pool.c
-   :identifiers: page_pool_put_page_bulk page_pool_get_stats
+   :identifiers: page_pool_put_page_bulk
 
 DMA sync
 --------
@@ -109,22 +118,6 @@ Unless the driver author really understands page pool internals
 it's recommended to always use ``offset = 0``, ``max_len = PAGE_SIZE``
 with fragmented page pools.
 
-Stats API and structures
-------------------------
-If the kernel is configured with ``CONFIG_PAGE_POOL_STATS=y``, the API
-page_pool_get_stats() and structures described below are available.
-It takes a  pointer to a ``struct page_pool`` and a pointer to a struct
-page_pool_stats allocated by the caller.
-
-Older drivers expose page pool statistics via ethtool or debugfs.
-The same statistics are accessible via the netlink netdev family
-in a driver-independent fashion.
-
-.. kernel-doc:: include/net/page_pool/types.h
-   :identifiers: struct page_pool_recycle_stats
-                struct page_pool_alloc_stats
-                struct page_pool_stats
-
 Coding examples
 ===============
 
@@ -178,21 +171,6 @@ NAPI poller
         }
     }
 
-Stats
------
-
-.. code-block:: c
-
-       #ifdef CONFIG_PAGE_POOL_STATS
-       /* retrieve stats */
-       struct page_pool_stats stats = { 0 };
-       if (page_pool_get_stats(page_pool, &stats)) {
-               /* perhaps the driver reports statistics with ethool */
-               ethtool_print_allocation_stats(&stats.alloc_stats);
-               ethtool_print_recycle_stats(&stats.recycle_stats);
-       }
-       #endif
-
 Driver unload
 -------------
 
index 8171d1173221b42fb77dce064b57b59f93ab14a5..7798726f5a3e0ffbf5e75847ac150fce3bc5028b 100644 (file)
@@ -76,6 +76,9 @@ static const char pp_stats[][ETH_GSTRING_LEN] = {
  * @pool:      pool from which page was allocated
  * @stats:     struct page_pool_stats to fill in
  *
+ * Deprecated driver API for querying stats. Page pool stats can be queried
+ * via netdev Netlink.
+ *
  * Retrieve statistics about the page_pool. This API is only available
  * if the kernel has been configured with ``CONFIG_PAGE_POOL_STATS=y``.
  * A pointer to a caller allocated struct page_pool_stats structure