All of lore.kernel.org
 help / color / mirror / Atom feed
From: Joe Damato <jdamato@fastly.com>
To: netdev@vger.kernel.org
Cc: kuba@kernel.org, davem@davemloft.net,
	ilias.apalodimas@linaro.org, hawk@kernel.org,
	Joe Damato <jdamato@fastly.com>
Subject: [PATCH 6/6] net: page_pool: Add a stat tracking waived pages.
Date: Wed, 26 Jan 2022 14:48:20 -0800	[thread overview]
Message-ID: <1643237300-44904-7-git-send-email-jdamato@fastly.com> (raw)
In-Reply-To: <1643237300-44904-1-git-send-email-jdamato@fastly.com>

Track how often pages obtained from the ring cannot be added to the cache
because of a NUMA mismatch. A static inline wrapper is added for accessing
this stat.

Signed-off-by: Joe Damato <jdamato@fastly.com>
---
 include/net/page_pool.h | 11 +++++++++++
 net/core/page_pool.c    |  1 +
 2 files changed, 12 insertions(+)

diff --git a/include/net/page_pool.h b/include/net/page_pool.h
index a68d05f..cf65d78 100644
--- a/include/net/page_pool.h
+++ b/include/net/page_pool.h
@@ -88,6 +88,7 @@ struct page_pool_stats {
 			    * slow path allocation
 			    */
 		u64 refill; /* allocations via successful refill */
+		u64 waive;  /* failed refills due to numa zone mismatch */
 	} alloc;
 };
 
@@ -226,6 +227,11 @@ static inline u64 page_pool_stats_get_refill(struct page_pool *pool)
 {
 	return pool->ps.alloc.refill;
 }
+
+static inline u64 page_pool_stats_get_waive(struct page_pool *pool)
+{
+	return pool->ps.alloc.waive;
+}
 #else
 static inline void page_pool_destroy(struct page_pool *pool)
 {
@@ -270,6 +276,11 @@ static inline u64 page_pool_stats_get_refill(struct page_pool *pool)
 {
 	return 0;
 }
+
+static inline u64 page_pool_stats_get_waive(struct page_pool *pool)
+{
+	return 0;
+}
 #endif
 
 void page_pool_put_page(struct page_pool *pool, struct page *page,
diff --git a/net/core/page_pool.c b/net/core/page_pool.c
index 15f4e73..7c4ae2e 100644
--- a/net/core/page_pool.c
+++ b/net/core/page_pool.c
@@ -147,6 +147,7 @@ static struct page *page_pool_refill_alloc_cache(struct page_pool *pool)
 			 * This limit stress on page buddy alloactor.
 			 */
 			page_pool_return_page(pool, page);
+			pool->ps.alloc.waive++;
 			page = NULL;
 			break;
 		}
-- 
2.7.4


  parent reply	other threads:[~2022-01-26 22:52 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-01-26 22:48 [PATCH net-next 0/6] net: page_pool: Add page_pool stat counters Joe Damato
2022-01-26 22:48 ` [PATCH 1/6] net: page_pool: Add alloc stats and fast path stat Joe Damato
2022-01-27 16:32   ` Jakub Kicinski
2022-01-27 21:11     ` Joe Damato
2022-02-02 14:14   ` Jesper Dangaard Brouer
2022-01-26 22:48 ` [PATCH net-next 2/6] net: page_pool: Add a stat for the slow alloc path Joe Damato
2022-01-26 22:48 ` [PATCH net-next 3/6] net: page_pool: Add a high order alloc stat Joe Damato
2022-01-26 22:48 ` [PATCH net-next 4/6] net: page_pool: Add stat tracking empty ring Joe Damato
2022-01-26 22:48 ` [PATCH net-next 5/6] net: page_pool: Add stat tracking cache refills Joe Damato
2022-01-26 22:48 ` Joe Damato [this message]
2022-01-27  8:51 ` [PATCH net-next 0/6] net: page_pool: Add page_pool stat counters Jesper Dangaard Brouer
2022-01-27 21:08   ` Joe Damato
2022-02-02 14:04     ` Jesper Dangaard Brouer
2022-01-27  9:08 ` Ilias Apalodimas
2022-01-27 23:55   ` Joe Damato
2022-01-29 14:07     ` Ilias Apalodimas
2022-01-29 18:07       ` Joe Damato

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1643237300-44904-7-git-send-email-jdamato@fastly.com \
    --to=jdamato@fastly.com \
    --cc=davem@davemloft.net \
    --cc=hawk@kernel.org \
    --cc=ilias.apalodimas@linaro.org \
    --cc=kuba@kernel.org \
    --cc=netdev@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.