ping^2

On 11 December 2015 at 16:54, Stuart Haslam <stuart.has...@linaro.org> wrote:
> ping - needs review.
>
> On 28 October 2015 at 18:45, Stuart Haslam <stuart.has...@linaro.org> 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 <stuart.has...@linaro.org>
>> ---
>>  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
lng-odp@lists.linaro.org
https://lists.linaro.org/mailman/listinfo/lng-odp

Reply via email to