Re: [PATCH net-next v9 7/8] netdevsim: use netmem descriptor and APIs for page pool

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Jul 10, 2025 at 1:28 AM Byungchul Park <byungchul@xxxxxx> wrote:
>
> To simplify struct page, the effort to separate its own descriptor from
> struct page is required and the work for page pool is on going.
>
> Use netmem descriptor and APIs for page pool in netdevsim code.
>
> Signed-off-by: Byungchul Park <byungchul@xxxxxx>
> ---
>  drivers/net/netdevsim/netdev.c    | 19 ++++++++++---------
>  drivers/net/netdevsim/netdevsim.h |  2 +-
>  2 files changed, 11 insertions(+), 10 deletions(-)
>
> diff --git a/drivers/net/netdevsim/netdev.c b/drivers/net/netdevsim/netdev.c
> index e36d3e846c2d..ba19870524c5 100644
> --- a/drivers/net/netdevsim/netdev.c
> +++ b/drivers/net/netdevsim/netdev.c
> @@ -812,7 +812,7 @@ nsim_pp_hold_read(struct file *file, char __user *data,
>         struct netdevsim *ns = file->private_data;
>         char buf[3] = "n\n";
>
> -       if (ns->page)
> +       if (ns->netmem)
>                 buf[0] = 'y';
>
>         return simple_read_from_buffer(data, count, ppos, buf, 2);
> @@ -832,18 +832,19 @@ nsim_pp_hold_write(struct file *file, const char __user *data,
>
>         rtnl_lock();
>         ret = count;
> -       if (val == !!ns->page)
> +       if (val == !!ns->netmem)
>                 goto exit;
>
>         if (!netif_running(ns->netdev) && val) {
>                 ret = -ENETDOWN;
>         } else if (val) {
> -               ns->page = page_pool_dev_alloc_pages(ns->rq[0]->page_pool);
> -               if (!ns->page)
> +               ns->netmem = page_pool_alloc_netmems(ns->rq[0]->page_pool,
> +                                                    GFP_ATOMIC | __GFP_NOWARN);

Add page_pool_dev_alloc_netmems helper.


-- 
Thanks,
Mina





[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux