app/flow-perf: configure rule batches
authorGeorgios Katsikas <katsikas.gp@gmail.com>
Sun, 11 Oct 2020 10:03:26 +0000 (12:03 +0200)
committerThomas Monjalon <thomas@monjalon.net>
Wed, 4 Nov 2020 20:17:35 +0000 (21:17 +0100)
commit4c0708ab7e7b24e8b06775753972c804b33caea1
tree145f3a8b196a267da09b68deb515c873a88fd3be
parentf348642d6f0d7da89bf6e156ff15a8f89c1db5c6
app/flow-perf: configure rule batches

Currently, flow-perf measures the performance of
rule installation/deletion operations by breaking
down the entire number of operations into windows
of fixed size (i.e., 100000 operations per window).
Then, flow-perf measures the total time per window
and computes an average time across all windows.

This commit allows flow-perf users to configure
the number of rules per window instead of using
a fixed pre-compiled value. To do so, users must
pass --rules-batch=N, where N is the number of
rules per window (or batch).
For consistency reasons, flow_count variable is
now renamed to rules_count. This variable is the
total number of rules to be installed/deleted.

For example, if a user wants to measure how much
time it takes to install 1M rules in a certain NIC,
he/she can input:
--rules-count=1000000
This way flow-perf will break down 1M flow rules into
10 batches of 100k flow rules each (this is the default
batch size) and compute an average across the 10
measurements.
Now, if the user modifies the number of rules per
batch as follows:
--rules-count=1000000 --rules-batch=500000
then flow-perf will break down 1M flow rules into
2 batches of 500k flow rules each and compute the
average across the 2 measurements.

Finally, this commit also adds default variables
to the usage function instead of hardcoded values.

Signed-off-by: Georgios Katsikas <katsikas.gp@gmail.com>
Acked-by: Wisam Jaddo <wisamm@nvidia.com>
app/test-flow-perf/main.c
doc/guides/tools/flow-perf.rst