|
|
@@ -1,30 +1,36 @@
|
|
|
-commit 8610037e8106b48c79cfe0afb92b2b2466e51c3d
|
|
|
-Author: Joe Damato <[email protected]>
|
|
|
-Date: Tue Mar 1 23:55:47 2022 -0800
|
|
|
+From 8610037e8106b48c79cfe0afb92b2b2466e51c3d Mon Sep 17 00:00:00 2001
|
|
|
+From: Joe Damato <[email protected]>
|
|
|
+Date: Tue, 1 Mar 2022 23:55:47 -0800
|
|
|
+Subject: [PATCH] page_pool: Add allocation stats
|
|
|
|
|
|
- page_pool: Add allocation stats
|
|
|
-
|
|
|
- Add per-pool statistics counters for the allocation path of a page pool.
|
|
|
- These stats are incremented in softirq context, so no locking or per-cpu
|
|
|
- variables are needed.
|
|
|
-
|
|
|
- This code is disabled by default and a kernel config option is provided for
|
|
|
- users who wish to enable them.
|
|
|
-
|
|
|
- The statistics added are:
|
|
|
- - fast: successful fast path allocations
|
|
|
- - slow: slow path order-0 allocations
|
|
|
- - slow_high_order: slow path high order allocations
|
|
|
- - empty: ptr ring is empty, so a slow path allocation was forced.
|
|
|
- - refill: an allocation which triggered a refill of the cache
|
|
|
- - waive: pages obtained from the ptr ring that cannot be added to
|
|
|
- the cache due to a NUMA mismatch.
|
|
|
-
|
|
|
- Signed-off-by: Joe Damato <[email protected]>
|
|
|
- Acked-by: Jesper Dangaard Brouer <[email protected]>
|
|
|
- Reviewed-by: Ilias Apalodimas <[email protected]>
|
|
|
- Signed-off-by: David S. Miller <[email protected]>
|
|
|
+Add per-pool statistics counters for the allocation path of a page pool.
|
|
|
+These stats are incremented in softirq context, so no locking or per-cpu
|
|
|
+variables are needed.
|
|
|
|
|
|
+This code is disabled by default and a kernel config option is provided for
|
|
|
+users who wish to enable them.
|
|
|
+
|
|
|
+The statistics added are:
|
|
|
+ - fast: successful fast path allocations
|
|
|
+ - slow: slow path order-0 allocations
|
|
|
+ - slow_high_order: slow path high order allocations
|
|
|
+ - empty: ptr ring is empty, so a slow path allocation was forced.
|
|
|
+ - refill: an allocation which triggered a refill of the cache
|
|
|
+ - waive: pages obtained from the ptr ring that cannot be added to
|
|
|
+ the cache due to a NUMA mismatch.
|
|
|
+
|
|
|
+Signed-off-by: Joe Damato <[email protected]>
|
|
|
+Acked-by: Jesper Dangaard Brouer <[email protected]>
|
|
|
+Reviewed-by: Ilias Apalodimas <[email protected]>
|
|
|
+Signed-off-by: David S. Miller <[email protected]>
|
|
|
+---
|
|
|
+ include/net/page_pool.h | 18 ++++++++++++++++++
|
|
|
+ net/Kconfig | 13 +++++++++++++
|
|
|
+ net/core/page_pool.c | 24 ++++++++++++++++++++----
|
|
|
+ 3 files changed, 51 insertions(+), 4 deletions(-)
|
|
|
+
|
|
|
+diff --git a/include/net/page_pool.h b/include/net/page_pool.h
|
|
|
+index 97c3c19872ff..1f27e8a48830 100644
|
|
|
--- a/include/net/page_pool.h
|
|
|
+++ b/include/net/page_pool.h
|
|
|
@@ -82,6 +82,19 @@ struct page_pool_params {
|