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