linux-sg2042/include/linux/mlx5
Vlad Buslov 9aff93d7d0 net/mlx5: Store flow counters in a list
In order to improve performance of flow counter stats query loop that
traverses all configured flow counters, replace rb_tree with double-linked
list. This change improves performance of traversing flow counters by
removing the tree traversal. (profiling data showed that call to rb_next
was most top CPU consumer)

However, lookup of flow flow counter in list becomes linear, instead of
logarithmic. This problem is fixed by next patch in series, which adds idr
for fast lookup. Idr is to be used because it is not an intrusive data
structure and doesn't require adding any new members to struct mlx5_fc,
which allows its control data part to stay <= 1 cache line in size.

Signed-off-by: Vlad Buslov <vladbu@mellanox.com>
Acked-by: Amir Vadai <amir@vadai.me>
Reviewed-by: Paul Blakey <paulb@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
2018-09-05 21:14:57 -07:00
..
accel.h net/mlx5: IPSec, Add support for ESN 2018-03-07 15:54:36 -08:00
cmd.h
cq.h mlx5: Move dump error CQE function out of mlx5_ib for code sharing 2018-03-27 17:17:28 -07:00
device.h net/mlx5: Rename modify/query_vport state related enums 2018-08-08 19:34:54 -07:00
doorbell.h IB/mlx5: Use blue flame register allocator in mlx5_ib 2017-01-09 20:25:08 +02:00
driver.h net/mlx5: Store flow counters in a list 2018-09-05 21:14:57 -07:00
eswitch.h net/mlx5: E-Switch, Avoid setup attempt if not being e-switch manager 2018-06-26 15:26:29 -07:00
fs.h Merge branch 'linus/master' into rdma.git for-next 2018-08-16 14:21:29 -06:00
fs_helpers.h {net,IB}/mlx5: Add ipsec helper 2018-04-04 12:06:27 -06:00
mlx5_ifc.h Merge branch 'linus/master' into rdma.git for-next 2018-08-16 14:21:29 -06:00
mlx5_ifc_fpga.h net/mlx5: Accel, add TLS rx offload routines 2018-07-16 00:13:11 -07:00
port.h net/mlx5e: PFC stall prevention support 2018-03-26 13:46:46 -07:00
qp.h net/mlx5: Add DCT command interface 2018-01-08 11:38:49 -07:00
srq.h net/mlx5: Add XRQ support 2017-08-29 08:30:20 -04:00
transobj.h net/mlx5: Eliminate query xsrq dead code 2018-03-30 16:16:17 -07:00
vport.h net/mlx5: Remove unused mlx5_query_vport_admin_state 2018-08-08 19:34:55 -07:00