Re: [RFC v4 07/18] page_pool: use netmem put API in page_pool_return_netmem()

Pavel Begunkov
2025-06-05T10:32:18Z

On 6/4/25 03:52, Byungchul Park wrote:
> Use netmem put API, put_netmem(), instead of put_page() in
> page_pool_return_netmem().
>
> While at it, delete #include <linux/mm.h> since the last put_page() in
> page_pool.c has been just removed with this patch.
>
> Signed-off-by: Byungchul Park <byungchul@sk.com>
> Reviewed-by: Mina Almasry <almasrymina@google.com>
> ---
> net/core/page_pool.c | 5 ++---
> 1 file changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/net/core/page_pool.c b/net/core/page_pool.c
> index b7680dcb83e4..dab89bc69f10 100644
> --- a/net/core/page_pool.c
> +++ b/net/core/page_pool.c
> @@ -20,7 +20,6 @@
> #include <linux/dma-direction.h>
> #include <linux/dma-mapping.h>
> #include <linux/page-flags.h>
> -#include <linux/mm.h> /* for put_page() */
> #include <linux/poison.h>
> #include <linux/ethtool.h>
> #include <linux/netdevice.h>
> @@ -712,7 +711,7 @@ static __always_inline void __page_pool_release_page_dma(struct page_pool *pool,
> /* Disconnects a page (from a page_pool). API users can have a need
> * to disconnect a page (from a page_pool), to allow it to be used as
> * a regular page (that will eventually be returned to the normal
> - * page-allocator via put_page).
> + * page-allocator via put_netmem()).
> */
> static void page_pool_return_netmem(struct page_pool *pool, netmem_ref netmem)
> {
> @@ -733,7 +732,7 @@ static void page_pool_return_netmem(struct page_pool *pool, netmem_ref netmem)
>
> if (put) {
> page_pool_clear_pp_info(netmem);
> - put_page(netmem_to_page(netmem));
> + put_netmem(netmem);

Same comment as well. I guess we shouldn't even be returning "put"
from memory providers.

--
Pavel Begunkov