ping - needs review.
On 28 October 2015 at 18:45, Stuart Haslam <[email protected]> wrote: > The results from the initial test run are often worse than would > normally be expected due to there being no warm up phase. As a > simple way to warm up run first test stage twice, ignoring the > results of the first run. > > Signed-off-by: Stuart Haslam <[email protected]> > --- > test/performance/odp_pktio_perf.c | 12 ++++++++++-- > 1 file changed, 10 insertions(+), 2 deletions(-) > > diff --git a/test/performance/odp_pktio_perf.c > b/test/performance/odp_pktio_perf.c > index efd26dc..38d684a 100644 > --- a/test/performance/odp_pktio_perf.c > +++ b/test/performance/odp_pktio_perf.c > @@ -134,6 +134,7 @@ typedef struct { > uint64_t pps_curr; /* Current attempted PPS */ > uint64_t pps_pass; /* Highest passing PPS */ > uint64_t pps_fail; /* Lowest failing PPS */ > + int warmup; /* Warmup stage - ignore results */ > } test_status_t; > > /* Thread specific arguments */ > @@ -647,7 +648,10 @@ static int run_test_single(odp_cpumask_t *thd_mask_tx, > /* wait for receivers */ > odph_linux_pthread_join(&thd_tbl[0], num_rx_workers); > > - return process_results(expected_tx_cnt, status); > + if (!status->warmup) > + return process_results(expected_tx_cnt, status); > + > + return 1; > } > > static int run_test(void) > @@ -659,6 +663,7 @@ static int run_test(void) > .pps_curr = gbl_args->args.pps, > .pps_pass = 0, > .pps_fail = 0, > + .warmup = 1, > }; > > if (setup_txrx_masks(&txmask, &rxmask) != 0) > @@ -679,6 +684,10 @@ static int run_test(void) > printf("%s ", gbl_args->args.ifaces[i]); > printf("\n"); > > + /* first time just run the test but throw away the results */ > + run_test_single(&txmask, &rxmask, &status); > + status.warmup = 0; > + > while (ret > 0) > ret = run_test_single(&txmask, &rxmask, &status); > > @@ -957,7 +966,6 @@ static void parse_args(int argc, char *argv[], > test_args_t *args) > LOG_ABORT("Failed to alloc iface storage\n"); > > strcpy(args->if_str, optarg); > - > for (token = strtok(args->if_str, ","); > token != NULL && args->num_ifaces < > MAX_NUM_IFACES; > token = strtok(NULL, ",")) > -- > 2.1.1 > _______________________________________________ lng-odp mailing list [email protected] https://lists.linaro.org/mailman/listinfo/lng-odp
