On Mon, Jun 01, 2015 at 06:44:10PM +0200, Nicolas Morey-Chaisemartin wrote: > Signed-off-by: Nicolas Morey-Chaisemartin <[email protected]> > --- > test/performance/odp_pktio_perf.c | 72 > +++++++++++++++++++++++++++++---------- > 1 file changed, 54 insertions(+), 18 deletions(-) > > diff --git a/test/performance/odp_pktio_perf.c > b/test/performance/odp_pktio_perf.c > index fbe27a0..bb557b0 100644 > --- a/test/performance/odp_pktio_perf.c > +++ b/test/performance/odp_pktio_perf.c > @@ -75,6 +75,8 @@ typedef struct { > batch */ > int schedule; /* 1: receive packets via scheduler > 0: receive packets via direct deq */ > + uint32_t rx_batch_len; /* Number of packets to receive in a single > + batch */ > uint64_t pps; /* Attempted packet rate */ > int verbose; /* Print verbose information, such as per > thread statistics */ > @@ -358,12 +360,41 @@ static void *run_thread_tx(void *arg) > return NULL; > } > > -static void *run_thread_rx(void *arg TEST_UNUSED) > +static int receive_packets(odp_queue_t pollq, > + odp_event_t *event_tbl, unsigned num_pkts) > +{ > + int n_ev = 0; > + > + if (num_pkts == 0) > + return 0; > + > + if (pollq != ODP_QUEUE_INVALID) { > + if (num_pkts == 1) { > + event_tbl[0] = odp_queue_deq(pollq); > + n_ev = event_tbl[0] != ODP_EVENT_INVALID; > + } else { > + n_ev = odp_queue_deq_multi(pollq, event_tbl, num_pkts); > + } > + } else { > + event_tbl[0] = odp_schedule(NULL, ODP_SCHED_NO_WAIT); > + n_ev = event_tbl[0] != ODP_EVENT_INVALID;
Why not call odp_schedule_multi() for num_pkts > 1? Otherwise the patch looks good. -- Stuart. _______________________________________________ lng-odp mailing list [email protected] https://lists.linaro.org/mailman/listinfo/lng-odp
