[v3,6/7] app/flow-perf: add first flow latency support

Message ID 20210310135353.8429-7-wisamm@nvidia.com (mailing list archive)
State New, archived
Headers
Series Enhancements and fixes for flow-perf |

Checks

Context Check Description
ci/checkpatch warning coding style issues

Commit Message

Wisam Monther March 10, 2021, 1:53 p.m. UTC
  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>
---
 app/test-flow-perf/main.c | 9 +++++++++
 1 file changed, 9 insertions(+)
  

Patch

diff --git a/app/test-flow-perf/main.c b/app/test-flow-perf/main.c
index e32714131c..3d79430e9a 100644
--- a/app/test-flow-perf/main.c
+++ b/app/test-flow-perf/main.c
@@ -1143,6 +1143,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 };
@@ -1201,6 +1202,14 @@  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) / 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;