[PATCH] eth: mlx4: select PAGE_POOL

Greg Thelen posted 1 patch 8 months, 3 weeks ago
drivers/net/ethernet/mellanox/mlx4/Kconfig | 1 +
1 file changed, 1 insertion(+)
[PATCH] eth: mlx4: select PAGE_POOL
Posted by Greg Thelen 8 months, 3 weeks ago
With commit 8533b14b3d65 ("eth: mlx4: create a page pool for Rx") mlx4
started using functions guarded by PAGE_POOL. This change introduced
build errors when CONFIG_MLX4_EN is set but CONFIG_PAGE_POOL is not:

  ld: vmlinux.o: in function `mlx4_en_alloc_frags':
  en_rx.c:(.text+0xa5eaf9): undefined reference to `page_pool_alloc_pages'
  ld: vmlinux.o: in function `mlx4_en_create_rx_ring':
  (.text+0xa5ee91): undefined reference to `page_pool_create'

Make MLX4_EN select PAGE_POOL to fix the ml;x4 build errors.

Fixes: 8533b14b3d65 ("eth: mlx4: create a page pool for Rx")
Signed-off-by: Greg Thelen <gthelen@google.com>
---
 drivers/net/ethernet/mellanox/mlx4/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/net/ethernet/mellanox/mlx4/Kconfig b/drivers/net/ethernet/mellanox/mlx4/Kconfig
index 825e05fb8607..0b1cb340206f 100644
--- a/drivers/net/ethernet/mellanox/mlx4/Kconfig
+++ b/drivers/net/ethernet/mellanox/mlx4/Kconfig
@@ -7,6 +7,7 @@ config MLX4_EN
 	tristate "Mellanox Technologies 1/10/40Gbit Ethernet support"
 	depends on PCI && NETDEVICES && ETHERNET && INET
 	depends on PTP_1588_CLOCK_OPTIONAL
+	select PAGE_POOL
 	select MLX4_CORE
 	help
 	  This driver supports Mellanox Technologies ConnectX Ethernet
-- 
2.49.0.472.ge94155a9ec-goog
Re: [PATCH] eth: mlx4: select PAGE_POOL
Posted by Joe Damato 8 months, 2 weeks ago
On Mon, Mar 31, 2025 at 06:53:15PM -0700, Greg Thelen wrote:
> With commit 8533b14b3d65 ("eth: mlx4: create a page pool for Rx") mlx4
> started using functions guarded by PAGE_POOL. This change introduced
> build errors when CONFIG_MLX4_EN is set but CONFIG_PAGE_POOL is not:
> 
>   ld: vmlinux.o: in function `mlx4_en_alloc_frags':
>   en_rx.c:(.text+0xa5eaf9): undefined reference to `page_pool_alloc_pages'
>   ld: vmlinux.o: in function `mlx4_en_create_rx_ring':
>   (.text+0xa5ee91): undefined reference to `page_pool_create'
> 
> Make MLX4_EN select PAGE_POOL to fix the ml;x4 build errors.
> 
> Fixes: 8533b14b3d65 ("eth: mlx4: create a page pool for Rx")
> Signed-off-by: Greg Thelen <gthelen@google.com>
> ---
>  drivers/net/ethernet/mellanox/mlx4/Kconfig | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/net/ethernet/mellanox/mlx4/Kconfig b/drivers/net/ethernet/mellanox/mlx4/Kconfig
> index 825e05fb8607..0b1cb340206f 100644
> --- a/drivers/net/ethernet/mellanox/mlx4/Kconfig
> +++ b/drivers/net/ethernet/mellanox/mlx4/Kconfig
> @@ -7,6 +7,7 @@ config MLX4_EN
>  	tristate "Mellanox Technologies 1/10/40Gbit Ethernet support"
>  	depends on PCI && NETDEVICES && ETHERNET && INET
>  	depends on PTP_1588_CLOCK_OPTIONAL
> +	select PAGE_POOL

I didn't look, but I assume that mlx4 does not use page pool stats?

If it does, there might be a follow-up change to select
PAGE_POOL_STATS?

Reviewed-by: Joe Damato <jdamato@fastly.com>