app/flow-perf: report first flow latency

Starting from this commit the app will always
report the first flow latency.

This is useful in debugging to check the first
flow insertion before any caching effect.

Signed-off-by: Wisam Jaddo <wisamm@nvidia.com>
Acked-by: Alexander Kozyrev <akozyrev@nvidia.com>
This commit is contained in:
Wisam Jaddo 2021-03-14 11:54:26 +02:00 committed by Thomas Monjalon
parent f2cb939365
commit 96923debef

View File

@ -1140,6 +1140,7 @@ insert_flows(int port_id, uint8_t core_id)
struct rte_flow **flows_list;
struct rte_flow_error error;
clock_t start_batch, end_batch;
double first_flow_latency;
double cpu_time_used;
double insertion_rate;
double cpu_time_per_batch[MAX_BATCHES_COUNT] = { 0 };
@ -1198,6 +1199,16 @@ insert_flows(int port_id, uint8_t core_id)
encap_data, decap_data,
core_id, unique_data, &error);
if (!counter) {
first_flow_latency = (double) (rte_get_timer_cycles() - start_batch);
first_flow_latency /= rte_get_timer_hz();
/* In millisecond */
first_flow_latency *= 1000;
printf(":: First Flow Latency :: Port %d :: First flow "
"installed in %f milliseconds\n",
port_id, first_flow_latency);
}
if (force_quit)
counter = end_counter;