On Wed, Mar 05, 2025 at 05:26:36PM +0100, Sebastian Andrzej Siewior wrote: > On 2025-03-05 17:21:56 [+0100], Andrew Lunn wrote: > > > @@ -276,6 +263,9 @@ static MLX5E_DECLARE_STATS_GRP_OP_FILL_STATS(sw) > > > mlx5e_ethtool_put_stat(data, > > > MLX5E_READ_CTR64_CPU(&priv->stats.sw, > > > sw_stats_desc, i)); > > > +#ifdef CONFIG_PAGE_POOL_STATS > > > + *data = page_pool_ethtool_stats_get(*data, &priv->stats.sw.page_pool_stats); > > > +#endif > > > } > > > > Are these #ifdef required? include/net/page_pool/helpers.h: > > > > static inline u64 *page_pool_ethtool_stats_get(u64 *data, const void *stats) > > { > > return data; > > } > > > > Seems silly to have a stub if it cannot be used. > > As I mentioned in the diffstat section, if we add the snippet below then > it would work. Because the struct itself is not there. > > diff --git a/include/net/page_pool/types.h b/include/net/page_pool/types.h > index f45d55e6e8643..78984b9286c6b 100644 > --- a/include/net/page_pool/types.h > +++ b/include/net/page_pool/types.h > @@ -143,10 +143,14 @@ struct page_pool_recycle_stats { > */ > struct page_pool_stats { > struct page_pool_alloc_stats alloc_stats; > struct page_pool_recycle_stats recycle_stats; > }; > + > +#else /* !CONFIG_PAGE_POOL_STATS */ > + > +struct page_pool_stats { }; > #endif Please do add this, in a separate patch. But i wounder how other drivers handle this. Do they also have #ifdef? Andrew --- pw-bot: cr