net/mlx5e: Use non-XSK page allocator in SHAMPO
authorMaxim Mikityanskiy <maximmi@nvidia.com>
Fri, 30 Sep 2022 16:28:58 +0000 (09:28 -0700)
committerJakub Kicinski <kuba@kernel.org>
Sat, 1 Oct 2022 20:30:20 +0000 (13:30 -0700)
The SHAMPO flow is not compatible with XSK, it can call the page pool
allocator directly to save a branch.

mlx5e_page_alloc is removed, as it's no longer used in any flow.

Signed-off-by: Maxim Mikityanskiy <maximmi@nvidia.com>
Reviewed-by: Tariq Toukan <tariqt@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/mellanox/mlx5/core/en_rx.c

index 329702e..9d0a5c6 100644 (file)
@@ -293,16 +293,6 @@ static inline int mlx5e_page_alloc_pool(struct mlx5e_rq *rq, union mlx5e_alloc_u
        return 0;
 }
 
-static inline int mlx5e_page_alloc(struct mlx5e_rq *rq, union mlx5e_alloc_unit *au)
-{
-       if (rq->xsk_pool) {
-               au->xsk = xsk_buff_alloc(rq->xsk_pool);
-               return likely(au->xsk) ? 0 : -ENOMEM;
-       } else {
-               return mlx5e_page_alloc_pool(rq, au);
-       }
-}
-
 void mlx5e_page_dma_unmap(struct mlx5e_rq *rq, struct page *page)
 {
        dma_addr_t dma_addr = page_pool_get_dma_addr(page);
@@ -562,7 +552,7 @@ static int mlx5e_build_shampo_hd_umr(struct mlx5e_rq *rq,
                if (!(header_offset & (PAGE_SIZE - 1))) {
                        union mlx5e_alloc_unit au;
 
-                       err = mlx5e_page_alloc(rq, &au);
+                       err = mlx5e_page_alloc_pool(rq, &au);
                        if (unlikely(err))
                                goto err_unmap;
                        page = dma_info->page = au.page;