On Thu, Dec 14, 2023 at 3:30 PM Lorenzo Bianconi <lorenzo@xxxxxxxxxx> 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 <lorenzo@xxxxxxxxxx> > --- > 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.