Messages in this thread |  | | Date | Thu, 10 Apr 2025 14:21:21 +0200 | | From | Michal Kubiak <> | | Subject | Re: [PATCH net-next 07/12] net/mlx5: HWS, Fix pool size optimization |
| |
On Tue, Apr 08, 2025 at 05:00:51PM +0300, Tariq Toukan wrote: > From: Vlad Dogaru <vdogaru@nvidia.com> > > The optimization to create a size-one STE range for the unused direction > was broken. The hardware prevents us from creating RTCs over unallocated > STE space, so the only reason this has worked so far is because the > optimization was never used. >
Is there any chance that the optimization can be used (enabled) by someone on previous kernels? If so, maybe the patch is a better candidate for the "net" tree?
Thanks, Michal
> Signed-off-by: Vlad Dogaru <vdogaru@nvidia.com> > Reviewed-by: Yevgeny Kliteynik <kliteyn@nvidia.com> > Reviewed-by: Mark Bloch <mbloch@nvidia.com> > Signed-off-by: Tariq Toukan <tariqt@nvidia.com> > --- > drivers/net/ethernet/mellanox/mlx5/core/steering/hws/pool.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/pool.c b/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/pool.c > index 26d85fe3c417..7e37d6e9eb83 100644 > --- a/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/pool.c > +++ b/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/pool.c > @@ -80,7 +80,7 @@ static int hws_pool_resource_alloc(struct mlx5hws_pool *pool) > u32 fw_ft_type, opt_log_range; > > fw_ft_type = mlx5hws_table_get_res_fw_ft_type(pool->tbl_type, false); > - opt_log_range = pool->opt_type == MLX5HWS_POOL_OPTIMIZE_ORIG ? > + opt_log_range = pool->opt_type == MLX5HWS_POOL_OPTIMIZE_MIRROR ? > 0 : pool->alloc_log_sz; > resource = hws_pool_create_one_resource(pool, opt_log_range, fw_ft_type); > if (!resource) { > @@ -94,7 +94,7 @@ static int hws_pool_resource_alloc(struct mlx5hws_pool *pool) > struct mlx5hws_pool_resource *mirror_resource; > > fw_ft_type = mlx5hws_table_get_res_fw_ft_type(pool->tbl_type, true); > - opt_log_range = pool->opt_type == MLX5HWS_POOL_OPTIMIZE_MIRROR ? > + opt_log_range = pool->opt_type == MLX5HWS_POOL_OPTIMIZE_ORIG ? > 0 : pool->alloc_log_sz; > mirror_resource = hws_pool_create_one_resource(pool, opt_log_range, fw_ft_type); > if (!mirror_resource) { > -- > 2.31.1 > >
|  |