ping^2
On 11 December 2015 at 16:54, Stuart Haslam <[email protected]> wrote: > 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
