Go to file
Matan Azrad 5382d28c21 net/mlx5: accelerate DV flow counter transactions
The DevX interface exposes a new feature to the PMD that can allocate a
batch of counters by one FW command. It can improve the flow
transaction rate (with count action).

Add a new counter pools mechanism to manage HW counters in the PMD.
So, for each flow with counter creation the PMD will try to find a free
counter in the PMD pools container and only if there is no a free
counter, it will allocate a new DevX batch counters.

Currently we cannot support batch counter for a group 0 flow, so
create a 2 container types, one which allocates counters one by
one and one which allocates X counters by the batch feature.

The allocated counters objects are never released back to the HW
assuming the flows maximum number will be close to the actual value of
the flows number.
Later, it can be updated, and dynamic release mechanism can be added.

The counters are contained in pools, each pool with 512 counters.
The pools are contained in counter containers according to the
allocation resolution type - single or batch.
The cache memory of the counters statistics is saved as raw data per
pool.
All the raw data memory is allocated for all the container in one
memory allocation and is managed by counter_stats_mem_mng structure
which registers all the raw memory to the HW.
Each pool points to one raw data structure.

The query operation is in pool resolution which updates all the pool
counter raw data by one operation.

Signed-off-by: Matan Azrad <matan@mellanox.com>
Acked-by: Shahaf Shuler <shahafs@mellanox.com>
2019-07-23 14:31:35 +02:00
.ci ci: fix arm64 config filename 2019-03-30 00:01:35 +01:00
app test/sched: modify for config flexibility 2019-07-22 15:42:16 +02:00
buildtools buildtools: filter out checked symbols for icc 2019-07-02 16:04:37 +02:00
config config: fix meson build on ThunderX2 2019-07-16 00:19:51 +02:00
devtools devtools: pass custom options to checkpatch 2019-07-04 22:43:26 +02:00
doc net/nfb: support timestamp 2019-07-23 14:31:34 +02:00
drivers net/mlx5: accelerate DV flow counter transactions 2019-07-23 14:31:35 +02:00
examples examples/ip_frag: fix stale content of ethdev info 2019-07-22 19:10:31 +02:00
kernel kni: fix segmented mbuf data overflow 2019-07-18 23:29:57 +02:00
lib net: adjust L2 length on soft VLAN insertion 2019-07-23 14:31:35 +02:00
license fix dpdk.org URLs 2018-11-26 20:19:24 +01:00
mk mk: fix custom kernel directory name 2019-07-22 10:00:01 +02:00
usertools raw/ntb: support Intel NTB 2019-07-05 12:50:19 +02:00
.gitattributes improve git diff 2016-11-13 15:25:12 +01:00
.gitignore doc: fix missing asymmetric crypto table 2019-04-18 16:01:28 +02:00
.travis.yml ci: add a distinguisher to the extra Travis builds 2019-04-17 13:56:23 +02:00
GNUmakefile test: move to app directory 2019-02-26 15:29:27 +01:00
MAINTAINERS maintainers: add Andrew for next-net tree 2019-07-19 00:27:02 +02:00
Makefile license: use SPDX tag in root makefile 2018-01-04 22:41:38 +01:00
meson_options.txt baseband/turbo_sw: support meson build 2019-07-05 15:28:14 +02:00
meson.build build: print list of disabled components 2019-07-02 23:20:26 +02:00
README license: introduce SPDX identifiers 2018-01-04 22:41:38 +01:00
VERSION version: 19.08-rc1 2019-07-08 23:04:41 +02:00

DPDK is a set of libraries and drivers for fast packet processing.
It supports many processor architectures and both FreeBSD and Linux.

The DPDK uses the Open Source BSD-3-Clause license for the core libraries
and drivers. The kernel components are GPL-2.0 licensed.

Please check the doc directory for release notes,
API documentation, and sample application information.

For questions and usage discussions, subscribe to: users@dpdk.org
Report bugs and issues to the development mailing list: dev@dpdk.org