Thread (29 messages) 29 messages, 5 authors, 2020-03-02

Re: [patch net-next 00/10] net: allow user specify TC filter HW stats type

From: Jiri Pirko <jiri@resnulli.us>
Date: 2020-02-22 06:38:38

Fri, Feb 21, 2020 at 07:22:00PM CET, kuba@kernel.org wrote:
On Fri, 21 Feb 2020 10:56:33 +0100 Jiri Pirko wrote:
quoted
From: Jiri Pirko <redacted>

Currently, when user adds a TC filter and the filter gets offloaded,
the user expects the HW stats to be counted and included in stats dump.
However, since drivers may implement different types of counting, there
is no way to specify which one the user is interested in.

For example for mlx5, only delayed counters are available as the driver
periodically polls for updated stats.

In case of mlxsw, the counters are queried on dump time. However, the
HW resources for this type of counters is quite limited (couple of
thousands). This limits the amount of supported offloaded filters
significantly. Without counter assigned, the HW is capable to carry
millions of those.

On top of that, mlxsw HW is able to support delayed counters as well in
greater numbers. That is going to be added in a follow-up patch.

This patchset allows user to specify one of the following types of HW
stats for added fitler:
any - current default, user does not care about the type, just expects
      any type of stats.
immediate - queried during dump time
delayed - polled from HW periodically or sent by HW in async manner
disabled - no stats needed
Hmm, but the statistics are on actions, it feels a little bit like we
are perpetuating the mistake of counting on filters here.
You are right, the stats in tc are per-action. However, in both mlxsw
and mlx5, the stats are per-filter. What hw_stats does is that it
basically allows the user to set the type for all the actions in the
filter at once. 

Could you imagine a usecase that would use different HW stats type for
different actions in one action-chain?

Plus, if the fine grained setup is ever needed, the hw_stats could be in
future easilyt extended to be specified per-action too overriding
the per-filter setup only for specific action. What do you think?

Would it not work to share actions between filters which don't need
fine grained stats if HW can do more filters than stats?
For mlxsw it would work, if the action chain would be identical. For
that you don't need the per-action granularity of setting type hw_stats.
Let's CC Ed on this.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help