@@ -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;
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(+)