[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CAMDZJNV1PVZ7NYp7KZiq_WsZrXOse5=sAHv=HAe_5mVtrGZSfA@mail.gmail.com>
Date: Thu, 27 Feb 2020 10:02:57 +0800
From: Tonghao Zhang <xiangxia.m.yue@...il.com>
To: Paul Blakey <paulb@...lanox.com>
Cc: Saeed Mahameed <saeedm@...lanox.com>,
Roi Dayan <roid@...lanox.com>,
"saeedm@....mellanox.co.il" <saeedm@....mellanox.co.il>,
"gerlitz.or@...il.com" <gerlitz.or@...il.com>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>
Subject: Re: [net-next] net/mlx5e: Remove the unnecessary parameter
On Wed, Feb 26, 2020 at 5:53 PM Paul Blakey <paulb@...lanox.com> wrote:
>
>
> On 2/26/2020 12:50 AM, Saeed Mahameed wrote:
> > On Wed, 2020-02-26 at 00:03 +0800, xiangxia.m.yue@...il.com wrote:
> >> From: Tonghao Zhang <xiangxia.m.yue@...il.com>
> >>
> >> The parameter desired_size is always 0, and there is only one
> >> function calling the mlx5_esw_chains_get_avail_sz_from_pool.
> >> Deleting the parameter desired_size.
> > Paul, what is the reasoning behind desired size, i confirm that it is
> > not actually used right now, do we have a pending patch that needs it
> > ?
> > if this is not going to happen in the near future i vote to apply this
> > patch and bring it back when needed.
>
> Right, it will be used in a following patch that reduces the size given for nft flow tables.
>
> I planned on submitting it after connection tracking offload is complete, but it can be sent now.
Hi, Paul, and Saeed
The function will be used, so my patch is unnecessary. Thanks for explaining.
> This is the patch:
>
> From 66d3cb9706ed09f00150a42f555a51404602bba4 Mon Sep 17 00:00:00 2001
> From: Paul Blakey <paulb@...lanox.com>
> Date: Wed, 8 Jan 2020 14:31:53 +0200
> Subject: [PATCH] net/mlx5: Allocate smaller size tables for ft offload
>
> Instead of giving ft tables one of the largest tables available - 4M,
> give it a more reasonable size - 64k. Especially since it will
> always be created as a miss hook in the following patch.
>
> Signed-off-by: Paul Blakey <paulb@...lanox.com>
> Reviewed-by: Mark Bloch <markb@...lanox.com>
> ---
> drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads_chains.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads_chains.c b/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads_chains.c
> index 3990066..dabbc05 100644
> --- a/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads_chains.c
> +++ b/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads_chains.c
> @@ -39,6 +39,7 @@
> 1 * 1024 * 1024,
> 64 * 1024,
> 128 };
> +#define ESW_FT_TBL_SZ (64 * 1024)
>
> struct mlx5_esw_chains_priv {
> struct rhashtable chains_ht;
> @@ -205,7 +206,9 @@ static unsigned int mlx5_esw_chains_get_level_range(struct mlx5_eswitch *esw)
> ft_attr.flags |= (MLX5_FLOW_TABLE_TUNNEL_EN_REFORMAT |
> MLX5_FLOW_TABLE_TUNNEL_EN_DECAP);
>
> - sz = mlx5_esw_chains_get_avail_sz_from_pool(esw, POOL_NEXT_SIZE);
> + sz = (chain == mlx5_esw_chains_get_ft_chain(esw)) ?
> + mlx5_esw_chains_get_avail_sz_from_pool(esw, ESW_FT_TBL_SZ) :
> + mlx5_esw_chains_get_avail_sz_from_pool(esw, POOL_NEXT_SIZE);
> if (!sz)
> return ERR_PTR(-ENOSPC);
> ft_attr.max_fte = sz;
> --
> 1.8.3.1
>
>
> >
> > Thanks,
> > Saeed.
> >
> >> Signed-off-by: Tonghao Zhang <xiangxia.m.yue@...il.com>
> >> ---
> >> .../net/ethernet/mellanox/mlx5/core/eswitch_offloads_chains.c | 11
> >> +++--------
> >> 1 file changed, 3 insertions(+), 8 deletions(-)
> >>
> >> diff --git
> >> a/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads_chains.c
> >> b/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads_chains.c
> >> index c5a446e..ce5b7e1 100644
> >> ---
> >> a/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads_chains.c
> >> +++
> >> b/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads_chains.c
> >> @@ -134,19 +134,14 @@ static unsigned int
> >> mlx5_esw_chains_get_level_range(struct mlx5_eswitch *esw)
> >> return FDB_TC_LEVELS_PER_PRIO;
> >> }
> >>
> >> -#define POOL_NEXT_SIZE 0
> >> static int
> >> -mlx5_esw_chains_get_avail_sz_from_pool(struct mlx5_eswitch *esw,
> >> - int desired_size)
> >> +mlx5_esw_chains_get_avail_sz_from_pool(struct mlx5_eswitch *esw)
> >> {
> >> int i, found_i = -1;
> >>
> >> for (i = ARRAY_SIZE(ESW_POOLS) - 1; i >= 0; i--) {
> >> - if (fdb_pool_left(esw)[i] && ESW_POOLS[i] >
> >> desired_size) {
> >> + if (fdb_pool_left(esw)[i])
> >> found_i = i;
> >> - if (desired_size != POOL_NEXT_SIZE)
> >> - break;
> >> - }
> >> }
> >>
> >> if (found_i != -1) {
> >> @@ -198,7 +193,7 @@ static unsigned int
> >> mlx5_esw_chains_get_level_range(struct mlx5_eswitch *esw)
> >> ft_attr.flags |= (MLX5_FLOW_TABLE_TUNNEL_EN_REFORMAT |
> >> MLX5_FLOW_TABLE_TUNNEL_EN_DECAP);
> >>
> >> - sz = mlx5_esw_chains_get_avail_sz_from_pool(esw,
> >> POOL_NEXT_SIZE);
> >> + sz = mlx5_esw_chains_get_avail_sz_from_pool(esw);
> >> if (!sz)
> >> return ERR_PTR(-ENOSPC);
> >> ft_attr.max_fte = sz;
Powered by blists - more mailing lists