net: page_pool: merge page_pool_release_page() with page_pool_return_page()
authorJakub Kicinski <kuba@kernel.org>
Thu, 20 Jul 2023 01:04:09 +0000 (18:04 -0700)
committerJakub Kicinski <kuba@kernel.org>
Sat, 22 Jul 2023 01:50:24 +0000 (18:50 -0700)
Now that page_pool_release_page() is not exported we can
merge it with page_pool_return_page(). I believe that
the "Do not replace this with page_pool_return_page()"
comment was there in case page_pool_return_page() was
not inlined, to avoid two function calls.

Acked-by: Jesper Dangaard Brouer <hawk@kernel.org>
Reviewed-by: Yunsheng Lin <linyunsheng@huawei.com>
Link: https://lore.kernel.org/r/20230720010409.1967072-5-kuba@kernel.org
Reviewed-by: Alexander Lobakin <aleksander.lobakin@intel.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/core/page_pool.c

index 2c7cf5f..7ca456b 100644 (file)
@@ -492,7 +492,7 @@ static s32 page_pool_inflight(struct page_pool *pool)
  * a regular page (that will eventually be returned to the normal
  * page-allocator via put_page).
  */
-static void page_pool_release_page(struct page_pool *pool, struct page *page)
+static void page_pool_return_page(struct page_pool *pool, struct page *page)
 {
        dma_addr_t dma;
        int count;
@@ -518,12 +518,6 @@ skip_dma_unmap:
         */
        count = atomic_inc_return_relaxed(&pool->pages_state_release_cnt);
        trace_page_pool_state_release(pool, page, count);
-}
-
-/* Return a page to the page allocator, cleaning up our state */
-static void page_pool_return_page(struct page_pool *pool, struct page *page)
-{
-       page_pool_release_page(pool, page);
 
        put_page(page);
        /* An optimization would be to call __free_pages(page, pool->p.order)
@@ -615,9 +609,7 @@ __page_pool_put_page(struct page_pool *pool, struct page *page,
         * will be invoking put_page.
         */
        recycle_stat_inc(pool, released_refcnt);
-       /* Do not replace this with page_pool_return_page() */
-       page_pool_release_page(pool, page);
-       put_page(page);
+       page_pool_return_page(pool, page);
 
        return NULL;
 }