[PATCH net-next v2] page_pool: Rename frag_users to pagecnt_bias

From: Ilias Apalodimas
Date: Wed Dec 20 2023 - 03:02:38 EST


Since [0] got merged, it's clear that 'pp_ref_count' is used to track
the number of users for each page. On struct page_pool though we have
a member called 'frag_users'. Despite of what the name suggests this is
not the number of users. It instead represents the number of fragments of
the current page. When we split the page this is set to the actual number
of frags and later used in page_pool_drain_frag() to infer the real number
of users.

So let's rename it to something that matches the description above

[0]
Link: https://lore.kernel.org/netdev/20231212044614.42733-2-liangchen.linux@xxxxxxxxx/
Signed-off-by: Ilias Apalodimas <ilias.apalodimas@xxxxxxxxxx>
---
Changes since v1:
- rename to pagecnt_bias instead of frag_cnt to match the mm subsystem
- rebase on top of -main
include/net/page_pool/types.h | 2 +-
net/core/page_pool.c | 8 ++++----
2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/include/net/page_pool/types.h b/include/net/page_pool/types.h
index 76481c465375..d47491ba973d 100644
--- a/include/net/page_pool/types.h
+++ b/include/net/page_pool/types.h
@@ -130,7 +130,7 @@ struct page_pool {

bool has_init_callback;

- long frag_users;
+ long pagecnt_bias;
struct page *frag_page;
unsigned int frag_offset;
u32 pages_state_hold_cnt;
diff --git a/net/core/page_pool.c b/net/core/page_pool.c
index 4933762e5a6b..0e64d6b8e748 100644
--- a/net/core/page_pool.c
+++ b/net/core/page_pool.c
@@ -760,7 +760,7 @@ EXPORT_SYMBOL(page_pool_put_page_bulk);
static struct page *page_pool_drain_frag(struct page_pool *pool,
struct page *page)
{
- long drain_count = BIAS_MAX - pool->frag_users;
+ long drain_count = BIAS_MAX - pool->pagecnt_bias;

/* Some user is still using the page frag */
if (likely(page_pool_unref_page(page, drain_count)))
@@ -779,7 +779,7 @@ static struct page *page_pool_drain_frag(struct page_pool *pool,

static void page_pool_free_frag(struct page_pool *pool)
{
- long drain_count = BIAS_MAX - pool->frag_users;
+ long drain_count = BIAS_MAX - pool->pagecnt_bias;
struct page *page = pool->frag_page;

pool->frag_page = NULL;
@@ -821,14 +821,14 @@ struct page *page_pool_alloc_frag(struct page_pool *pool,
pool->frag_page = page;

frag_reset:
- pool->frag_users = 1;
+ pool->pagecnt_bias = 1;
*offset = 0;
pool->frag_offset = size;
page_pool_fragment_page(page, BIAS_MAX);
return page;
}

- pool->frag_users++;
+ pool->pagecnt_bias++;
pool->frag_offset = *offset + size;
alloc_stat_inc(pool, fast);
return page;
--
2.37.2