[dpdk-dev] [PATCH] examples/eventdev_pipeline: add Tx adapter support
Pavan Nikhilesh
pbhagavatula at caviumnetworks.com
Mon Sep 24 11:51:18 CEST 2018
On Fri, Sep 21, 2018 at 01:14:53PM +0530, Rao, Nikhil wrote:
> On 9/5/2018 7:15 PM, Pavan Nikhilesh wrote:
> > Signed-off-by: Pavan Nikhilesh <pbhagavatula at caviumnetworks.com>
> > ---
> > This patch depends on the following series:
> > http://patches.dpdk.org/project/dpdk/list/?series=1121
> >
> > examples/eventdev_pipeline/main.c | 62 ++--
> > examples/eventdev_pipeline/pipeline_common.h | 31 +-
> > .../pipeline_worker_generic.c | 273 +++++-------------
> > .../eventdev_pipeline/pipeline_worker_tx.c | 130 +++++----
> > 4 files changed, 186 insertions(+), 310 deletions(-)
> >
> > --- a/examples/eventdev_pipeline/pipeline_worker_generic.c
> > +++ b/examples/eventdev_pipeline/pipeline_worker_generic.c
> > @@ -119,153 +119,13 @@ worker_generic_burst(void *arg)
> > return 0;
> > }
> >
>
> > static void
> > -init_rx_adapter(uint16_t nb_ports)
> > +init_adapters(uint16_t nb_ports)
> > {
> > int i;
> > int ret;
> > + uint8_t tx_port_id = 0;
> > uint8_t evdev_id = 0;
> > struct rte_event_dev_info dev_info;
> >
> > ret = rte_event_dev_info_get(evdev_id, &dev_info);
> >
> > - struct rte_event_port_conf rx_p_conf = {
> > + struct rte_event_port_conf adptr_p_conf = {
> > .dequeue_depth = 8,
> > .enqueue_depth = 8,
> > .new_event_threshold = 1200,
> > };
> >
>
> We should restore the dequeue_depth to 128 for the port config passed to
> the Tx adapter. Doing so takes the performance from 5.8 mpps to 11.7
> mpps for on my test setup (test setup uses the SW PMD). Restoring
> enqueue_depth and new_event_threshold (64 and 4096 respectively) had
> no noticeable effect.
We replace the above values with the defaults passed by the driver
if (adptr_p_conf.dequeue_depth > dev_info.max_event_port_dequeue_depth)
adptr_p_conf.dequeue_depth =
dev_info.max_event_port_dequeue_depth;
if (adptr_p_conf.enqueue_depth > dev_info.max_event_port_enqueue_depth)
adptr_p_conf.enqueue_depth =
dev_info.max_event_port_enqueue_depth;
Still I missed setting it to configurable defaults used for worker ports as
below
struct rte_event_port_conf adptr_p_conf = {
.dequeue_depth = cdata.worker_cq_depth,
.enqueue_depth = 64,
.new_event_threshold = 1200,
};
I will send the v2 soon
>
> Thanks,
> Nikhil
Thanks,
Pavan.
More information about the dev
mailing list