New upstream version 18.08
[deb_dpdk.git] / app / test-eventdev / test_perf_atq.c
index b36b22a..9715a2c 100644 (file)
@@ -11,7 +11,7 @@ atq_nb_event_queues(struct evt_options *opt)
 {
        /* nb_queues = number of producers */
        return opt->prod_type == EVT_PROD_TYPE_ETH_RX_ADPTR ?
-               rte_eth_dev_count() : evt_nr_active_lcores(opt->plcores);
+               rte_eth_dev_count_avail() : evt_nr_active_lcores(opt->plcores);
 }
 
 static inline __attribute__((always_inline)) void
@@ -43,15 +43,12 @@ perf_atq_worker(void *arg, const int enable_fwd_latency)
        while (t->done == false) {
                uint16_t event = rte_event_dequeue_burst(dev, port, &ev, 1, 0);
 
-               if (enable_fwd_latency)
-                       rte_prefetch0(ev.event_ptr);
-
                if (!event) {
                        rte_pause();
                        continue;
                }
 
-               if (enable_fwd_latency)
+               if (enable_fwd_latency && !prod_timer_type)
                /* first stage in pipeline, mark ts to compute fwd latency */
                        atq_mark_fwd_latency(&ev);
 
@@ -90,7 +87,7 @@ perf_atq_worker_burst(void *arg, const int enable_fwd_latency)
                }
 
                for (i = 0; i < nb_rx; i++) {
-                       if (enable_fwd_latency) {
+                       if (enable_fwd_latency && !prod_timer_type) {
                                rte_prefetch0(ev[i+1].event_ptr);
                                /* first stage in pipeline.
                                 * mark time stamp to compute fwd latency
@@ -163,7 +160,8 @@ perf_atq_eventdev_setup(struct evt_test *test, struct evt_options *opt)
        struct rte_event_dev_info dev_info;
 
        nb_ports = evt_nr_active_lcores(opt->wlcores);
-       nb_ports += opt->prod_type == EVT_PROD_TYPE_ETH_RX_ADPTR ? 0 :
+       nb_ports += (opt->prod_type == EVT_PROD_TYPE_ETH_RX_ADPTR ||
+                       opt->prod_type == EVT_PROD_TYPE_EVENT_TIMER_ADPTR) ? 0 :
                evt_nr_active_lcores(opt->plcores);
 
        nb_queues = atq_nb_event_queues(opt);