On Tue, Jan 19, 2016 at 04:35:21PM +0300, Maxim Uvarov wrote: > Stuart, please find my run bellow. On my machine warm up did not help: > > 5773 pps, 5773 max pps, 0 rx drops, 0 tx drops > 1746 pps, 5773 max pps, 0 rx drops, 0 tx drops > 1127 pps, 5773 max pps, 0 rx drops, 0 tx drops > 832 pps, 5773 max pps, 0 rx drops, 0 tx drops > 2579 pps, 5773 max pps, 0 rx drops, 0 tx drops > 424 pps, 5773 max pps, 0 rx drops, 0 tx drops > 1001 pps, 5773 max pps, 0 rx drops, 0 tx drops > 1652 pps, 5773 max pps, 0 rx drops, 0 tx drops > 1367 pps, 5773 max pps, 0 rx drops, 0 tx drops > 1744 pps, 5773 max pps, 0 rx drops, 0 tx drops > 810 pps, 5773 max pps, 0 rx drops, 0 tx drops > 2113 pps, 5773 max pps, 0 rx drops, 0 tx drops > 2910 pps, 5773 max pps, 0 rx drops, 0 tx drops > 2648 pps, 5773 max pps, 0 rx drops, 0 tx drops > 1421 pps, 5773 max pps, 0 rx drops, 0 tx drops > 2548 pps, 5773 max pps, 0 rx drops, 0 tx drops > 4021 pps, 5773 max pps, 0 rx drops, 0 tx drops > 2112 pps, 5773 max pps, 0 rx drops, 0 tx drops > 2085 pps, 5773 max pps, 0 rx drops, 0 tx drops > 1103 pps, 5773 max pps, 0 rx drops, 0 tx drops > 474 pps, 5773 max pps, 0 rx drops, 0 tx drops > 1724 pps, 5773 max pps, 0 rx drops, 0 tx drops > 1560 pps, 5773 max pps, 0 rx drops, 0 tx drops > 2552 pps, 5773 max pps, 0 rx drops, 0 tx drops > 5233 pps, 5773 max pps, 0 rx drops, 0 tx drops > 741 pps, 5773 max pps, 0 rx drops, 0 tx drops > 829 pps, 5773 max pps, 0 rx drops, 0 tx drops > 685 pps, 5773 max pps, 0 rx drops, 0 tx drops > 1809 pps, 5773 max pps, 0 rx drops, 0 tx drops > 698 pps, 5773 max pps, 0 rx drops, 0 tx drops > TEST RESULT: 5773 maximum packets per second. >
Hrm, aren't those results from l2fwd? this patch is a change to odp_pktio_perf. The change isn't really intended to improve performance, just to make results more consistent. You're not likely to notice any difference on machine with non-isolated cores as runs won't be consistent anyway. -- Stuart. > > On 01/15/2016 18:21, Stuart Haslam wrote: > >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
