[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAM0EoMm-EQDw8AZUQyiHK=XJkhamyqfy0f6wYYkuzF22n9N7FQ@mail.gmail.com>
Date: Sun, 12 Feb 2023 09:58:07 -0500
From: Jamal Hadi Salim <jhs@...atatu.com>
To: Oz Shlomo <ozsh@...dia.com>
Cc: netdev@...r.kernel.org, Saeed Mahameed <saeedm@...dia.com>,
Roi Dayan <roid@...dia.com>, Jiri Pirko <jiri@...dia.com>,
Marcelo Ricardo Leitner <mleitner@...hat.com>,
Simon Horman <simon.horman@...igine.com>,
Baowen Zheng <baowen.zheng@...igine.com>,
Edward Cree <ecree.xilinx@...il.com>,
Jakub Kicinski <kuba@...nel.org>,
Marcelo Ricardo Leitner <marcelo.leitner@...il.com>
Subject: Re: [PATCH net-next v4 1/9] net/sched: optimize action stats api calls
On Sun, Feb 12, 2023 at 8:25 AM Oz Shlomo <ozsh@...dia.com> wrote:
>
> Currently the hw action stats update is called from tcf_exts_hw_stats_update,
> when a tc filter is dumped, and from tcf_action_copy_stats, when a hw
> action is dumped.
> However, the tcf_action_copy_stats is also called from tcf_action_dump.
> As such, the hw action stats update cb is called 3 times for every
> tc flower filter dump.
>
> Move the tc action hw stats update from tcf_action_copy_stats to
> tcf_dump_walker to update the hw action stats when tc action is dumped.
>
> Signed-off-by: Oz Shlomo <ozsh@...dia.com>
> Reviewed-by: Simon Horman <simon.horman@...igine.com>
> Reviewed-by: Marcelo Ricardo Leitner <marcelo.leitner@...il.com>
This patch is trivial, but if an ACK is needed, then:
Acked-by: Jamal Hadi Salim <jhs@...atatu.com>
cheers,
jamal
> ---
> net/sched/act_api.c | 5 ++---
> 1 file changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/net/sched/act_api.c b/net/sched/act_api.c
> index cd09ef49df22..f4fa6d7340f8 100644
> --- a/net/sched/act_api.c
> +++ b/net/sched/act_api.c
> @@ -539,6 +539,8 @@ static int tcf_dump_walker(struct tcf_idrinfo *idrinfo, struct sk_buff *skb,
> (unsigned long)p->tcfa_tm.lastuse))
> continue;
>
> + tcf_action_update_hw_stats(p);
> +
> nest = nla_nest_start_noflag(skb, n_i);
> if (!nest) {
> index--;
> @@ -1539,9 +1541,6 @@ int tcf_action_copy_stats(struct sk_buff *skb, struct tc_action *p,
> if (p == NULL)
> goto errout;
>
> - /* update hw stats for this action */
> - tcf_action_update_hw_stats(p);
> -
> /* compat_mode being true specifies a call that is supposed
> * to add additional backward compatibility statistic TLVs.
> */
> --
> 1.8.3.1
>
Powered by blists - more mailing lists