[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20230105214631.3939268-10-willy@infradead.org>
Date: Thu, 5 Jan 2023 21:46:16 +0000
From: "Matthew Wilcox (Oracle)" <willy@...radead.org>
To: Jesper Dangaard Brouer <hawk@...nel.org>,
Ilias Apalodimas <ilias.apalodimas@...aro.org>
Cc: "Matthew Wilcox (Oracle)" <willy@...radead.org>,
netdev@...r.kernel.org, linux-mm@...ck.org,
Shakeel Butt <shakeelb@...gle.com>
Subject: [PATCH v2 09/24] page_pool: Convert page_pool_defrag_page() to page_pool_defrag_netmem()
Add a page_pool_defrag_page() wrapper.
Signed-off-by: Matthew Wilcox (Oracle) <willy@...radead.org>
---
include/net/page_pool.h | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/include/net/page_pool.h b/include/net/page_pool.h
index 63aa530922de..8fe494166427 100644
--- a/include/net/page_pool.h
+++ b/include/net/page_pool.h
@@ -393,7 +393,7 @@ static inline void page_pool_fragment_page(struct page *page, long nr)
atomic_long_set(&page->pp_frag_count, nr);
}
-static inline long page_pool_defrag_page(struct page *page, long nr)
+static inline long page_pool_defrag_netmem(struct netmem *nmem, long nr)
{
long ret;
@@ -406,14 +406,19 @@ static inline long page_pool_defrag_page(struct page *page, long nr)
* especially when dealing with a page that may be partitioned
* into only 2 or 3 pieces.
*/
- if (atomic_long_read(&page->pp_frag_count) == nr)
+ if (atomic_long_read(&nmem->pp_frag_count) == nr)
return 0;
- ret = atomic_long_sub_return(nr, &page->pp_frag_count);
+ ret = atomic_long_sub_return(nr, &nmem->pp_frag_count);
WARN_ON(ret < 0);
return ret;
}
+static inline long page_pool_defrag_page(struct page *page, long nr)
+{
+ return page_pool_defrag_netmem(page_netmem(page), nr);
+}
+
static inline bool page_pool_is_last_frag(struct page_pool *pool,
struct page *page)
{
--
2.35.1
Powered by blists - more mailing lists