Message ID | 20230212132520.12571-2-ozsh@nvidia.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 8f2ca70c07f4cee68ed6297c1876c28b73c9af21 |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | add support for per action hw stats | expand |
On Sun, Feb 12, 2023 at 8:25 AM Oz Shlomo <ozsh@nvidia.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@nvidia.com> > Reviewed-by: Simon Horman <simon.horman@corigine.com> > Reviewed-by: Marcelo Ricardo Leitner <marcelo.leitner@gmail.com> This patch is trivial, but if an ACK is needed, then: Acked-by: Jamal Hadi Salim <jhs@mojatatu.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 >
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. */