diff options
| author | Amir Vadai <[email protected]> | 2016-05-13 12:55:41 +0000 |
|---|---|---|
| committer | David S. Miller <[email protected]> | 2016-05-16 17:43:51 +0000 |
| commit | 43a335e055bb7ebdc8a68ce7362ef26ef5bda92b (patch) | |
| tree | 0441f14934b5e341f12df45bc86bbca9c3dc3d03 /net/ipv6/tcp_ipv6.c | |
| parent | net/mlx5_core: Introduce flow steering destination of type counter (diff) | |
| download | kernel-43a335e055bb7ebdc8a68ce7362ef26ef5bda92b.tar.gz kernel-43a335e055bb7ebdc8a68ce7362ef26ef5bda92b.zip | |
net/mlx5_core: Flow counters infrastructure
If a counter has the aging flag set when created, it is added to a list
of counters that will be queried periodically from a workqueue. query
result and last use timestamp are cached.
add/del counter must be very efficient since thousands of such
operations might be issued in a second.
There is only a single reference to counters without aging, therefore
no need for locks.
But, counters with aging enabled are stored in a list. In order to make
code as lockless as possible, all the list manipulation and access to
hardware is done from a single context - the periodic counters query
thread.
The hardware supports multiple counters per FTE, however currently we
are using one counter for each FTE.
Signed-off-by: Amir Vadai <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Diffstat (limited to 'net/ipv6/tcp_ipv6.c')
0 files changed, 0 insertions, 0 deletions
