> -----Original Message----- > From: lng-odp [mailto:[email protected]] On Behalf Of EXT Maxim > Uvarov > Sent: Friday, October 23, 2015 1:03 PM > To: [email protected] > Subject: Re: [lng-odp] [PATCH v5 3/6] test: l2fwd: fix crash when accuracy is > set to > 0 > > On 10/23/2015 11:42, Matias Elo wrote: > > Application crashes if accuracy option is set to zero > > (division by zero). Disable statistics printing if accuracy > > <= 0. > > > > Signed-off-by: Matias Elo <[email protected]> > > --- > > test/performance/odp_l2fwd.c | 59 +++++++++++++++++++++++++++-------- > --------- > > 1 file changed, 37 insertions(+), 22 deletions(-) > > > > diff --git a/test/performance/odp_l2fwd.c b/test/performance/odp_l2fwd.c > > index c50ca20..fc60ebe 100644 > > --- a/test/performance/odp_l2fwd.c > > +++ b/test/performance/odp_l2fwd.c > > @@ -346,41 +346,56 @@ static odp_pktio_t create_pktio(const char *dev, > odp_pool_t pool) > > * > > */ > > static int print_speed_stats(int num_workers, stats_t **thr_stats, > > - int duration, int timeout) > > + int duration, int timeout) > > { > > - uint64_t pkts, pkts_prev = 0, pps, drops, maximum_pps = 0; > > - int i, elapsed = 0; > > + uint64_t pkts = 0; > > + uint64_t pkts_prev = 0; > > + uint64_t pps; > > + uint64_t drops; > > + uint64_t maximum_pps = 0; > > + int i; > > + int elapsed = 0; > > + int stats_enabled = 0; > > int loop_forever = (duration == 0); > > > > + if (timeout > 0) > > + stats_enabled = 1; > > + > > /* Wait for all threads to be ready*/ > > odp_barrier_wait(&barrier); > > > > do { > > - pkts = 0; > > - drops = 0; > > + if (stats_enabled) { > > + pkts = 0; > > + drops = 0; > > > > - sleep(timeout); > > + sleep(timeout); > > > > - for (i = 0; i < num_workers; i++) { > > - pkts += thr_stats[i]->packets; > > - drops += thr_stats[i]->drops; > > + for (i = 0; i < num_workers; i++) { > > + pkts += thr_stats[i]->packets; > > + drops += thr_stats[i]->drops; > > + } > > + pps = (pkts - pkts_prev) / timeout; > > + if (pps > maximum_pps) > > + maximum_pps = pps; > > + printf("%" PRIu64 " pps, %" PRIu64 " max pps, ", pps, > > + maximum_pps); > > + > > + printf(" %" PRIu64 " total drops\n", drops); > > + > > + elapsed += timeout; > > + pkts_prev = pkts; > > + } else { > > + sleep(1); > > + elapsed += 1; > > } > > - pps = (pkts - pkts_prev) / timeout; > > - if (pps > maximum_pps) > > - maximum_pps = pps; > > - printf("%" PRIu64 " pps, %" PRIu64 " max pps, ", pps, > > - maximum_pps); > > - > > - printf(" %" PRIu64 " total drops\n", drops); > > - > > - elapsed += timeout; > > - pkts_prev = pkts; > > } while (loop_forever || (elapsed < duration)); > > > > - printf("TEST RESULT: %" PRIu64 " maximum packets per second.\n", > > - maximum_pps); > > + if (stats_enabled) > > + printf("TEST RESULT: %" PRIu64 " maximum packets per > second.\n", > > + maximum_pps); > > > > - return pkts > 100 ? 0 : -1; > > + return 0; > > My comment was not fixed. l2fwd run should return 0 if we think it > worked well, -1 if there was errors (like no packets, > or l2fwd does not operate properly). >
Missed that message completely (still getting used to a new Outlook version). I'll submit new version soon. -Matias > Maxim. > > > } > > > > /** > > _______________________________________________ > lng-odp mailing list > [email protected] > https://lists.linaro.org/mailman/listinfo/lng-odp _______________________________________________ lng-odp mailing list [email protected] https://lists.linaro.org/mailman/listinfo/lng-odp
