Subject: Re: [PATCH v5 net-next 1/3] net: introduce page_pool pointer in softnet_data percpu struct

From: Lorenzo Bianconi <[email-masked]>
Date: Tue, 19 Dec 2023 18:32:31 +0100

> On Thu, Dec 14, 2023 at 3:30 PM Lorenzo Bianconi <[email-masked]> wrote:
> >
> > Allocate percpu page_pools in softnet_data.
> > Moreover add cpuid filed in page_pool struct in order to recycle the
> > page in the page_pool "hot" cache if napi_pp_put_page() is running on
> > the same cpu.
> > This is a preliminary patch to add xdp multi-buff support for xdp running
> > in generic mode.
> >
> > Signed-off-by: Lorenzo Bianconi <[email-masked]>
> > ---
> >  include/linux/netdevice.h       |  1 +
> >  include/net/page_pool/helpers.h |  5 +++++
> >  include/net/page_pool/types.h   |  1 +
> >  net/core/dev.c                  | 39 ++++++++++++++++++++++++++++++++-
> >  net/core/page_pool.c            |  5 +++++
> >  net/core/skbuff.c               |  5 +++--
> >  6 files changed, 53 insertions(+), 3 deletions(-)
> >
> > diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
> > index 1b935ee341b4..30b6a3f601fe 100644
> > --- a/include/linux/netdevice.h
> > +++ b/include/linux/netdevice.h
> > @@ -3319,6 +3319,7 @@ struct softnet_data {
> >         int                     defer_count;
> >         int                     defer_ipi_scheduled;
> >         struct sk_buff          *defer_list;
> > +       struct page_pool        *page_pool;
> >         call_single_data_t      defer_csd;
> >  };
> 
> This field should be put elsewhere, not in this contended cache line.

ack, I think we could add a percpu dedicated pointer for it.

Regards,
Lorenzo