[dpdk-dev] [PATCH 06/13] examples/eventdev: add non burst mode generic worker

Pavan Nikhilesh pbhagavatula at caviumnetworks.com
Tue Dec 19 20:01:27 CET 2017


On Tue, Dec 19, 2017 at 01:26:30PM +0000, Van Haaren, Harry wrote:
> > From: Pavan Nikhilesh [mailto:pbhagavatula at caviumnetworks.com]
> > Sent: Thursday, December 7, 2017 8:37 PM
> > To: Eads, Gage <gage.eads at intel.com>; jerin.jacobkollanukkaran at cavium.com;
> > Van Haaren, Harry <harry.van.haaren at intel.com>; Rao, Nikhil
> > <nikhil.rao at intel.com>; hemant.agrawal at nxp.com; Ma, Liang J
> > <liang.j.ma at intel.com>
> > Cc: dev at dpdk.org; Pavan Nikhilesh <pbhagavatula at caviumnetworks.com>
> > Subject: [PATCH 06/13] examples/eventdev: add non burst mode generic worker
> >
> > Currently, worker uses burst dequeue and burst enqueue to forward events.
> > Add a non burst mode based on the event dev capabilities.
> >
> > Signed-off-by: Pavan Nikhilesh <pbhagavatula at caviumnetworks.com>
>
> <snip>
>
> > diff --git a/examples/eventdev_pipeline_sw_pmd/pipeline_worker_generic.c
> > b/examples/eventdev_pipeline_sw_pmd/pipeline_worker_generic.c
> > index a72b7b2f9..5998aae95 100644
> > --- a/examples/eventdev_pipeline_sw_pmd/pipeline_worker_generic.c
> > +++ b/examples/eventdev_pipeline_sw_pmd/pipeline_worker_generic.c
> > @@ -1,5 +1,91 @@
> > +/*
> > + *   BSD LICENSE
> > + *
> > + *   Copyright 2016 Intel Corporation.
> > + *   Copyright 2016 Cavium, Inc.
> > + *
> > + *   Redistribution and use in source and binary forms, with or without
> > + *   modification, are permitted provided that the following conditions
> > + *   are met:
> > + *
> > + *     * Redistributions of source code must retain the above copyright
> > + *       notice, this list of conditions and the following disclaimer.
> > + *     * Redistributions in binary form must reproduce the above copyright
> > + *       notice, this list of conditions and the following disclaimer in
> > + *       the documentation and/or other materials provided with the
> > + *       distribution.
> > + *     * Neither the name of Cavium, Inc nor the names of its
> > + *       contributors may be used to endorse or promote products derived
> > + *       from this software without specific prior written permission.
> > + *
> > + *   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
> > + *   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
> > + *   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
> > + *   A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
> > + *   OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
> > + *   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
> > + *   LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
> > + *   DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
> > + *   THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
> > + *   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
> > + *   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
> > + */
> > +
>
> Adding a license to an existing file? Also can now be updated to SPDX style
>
We still need to get approval from legal once we are good to go we will update
it to SPDK style.

> >  static __rte_always_inline int
> >  consumer_burst(void)
> >  {
> > @@ -412,9 +555,13 @@ generic_opt_check(void)
> >  void
> >  set_worker_generic_setup_data(struct setup_data *caps, bool burst)
> >  {
> > -	RTE_SET_USED(burst);
> > -	caps->consumer_loop = consumer_burst;
> > -	caps->worker_loop = worker_generic_burst;
> > +	if (burst) {
> > +		caps->consumer_loop = consumer_burst;
> > +		caps->worker_loop = worker_generic_burst;
> > +	} else {
> > +		caps->consumer_loop = consumer;
> > +		caps->worker_loop = worker_generic;
> > +	}
>
> This won't scale well. See notes on future patch (9/13 and 10/13)


More information about the dev mailing list