[dpdk-dev] [PATCH v4 1/8] event/opdl: add the opdl ring infrastructure library

Liang, Ma liang.j.ma at intel.com
Mon Jan 8 12:19:57 CET 2018


On 08 Jan 12:16, Jerin Jacob wrote:
> -----Original Message-----
> > Date: Fri, 22 Dec 2017 16:02:42 +0000
> > From: Sean Harte <seanbh at gmail.com>
> > To: Liang Ma <liang.j.ma at intel.com>
> > Cc: jerin.jacob at caviumnetworks.com, dev at dpdk.org,
> >  harry.van.haaren at intel.com, Bruce Richardson <bruce.richardson at intel.com>,
> >  deepak.k.jain at intel.com, john.geary at intel.com, "Mccarthy, Peter"
> >  <peter.mccarthy at intel.com>
> > Subject: Re: [PATCH v4 1/8] event/opdl: add the opdl ring infrastructure
> >  library
> > 
> > On 22 December 2017 at 11:23, Liang Ma <liang.j.ma at intel.com> wrote:
> > >
> > > OPDL ring is the core infrastructure of OPDL PMD. OPDL ring library
> > > provide the core data structure and core helper function set. The Ring
> > > implements a single ring multi-port/stage pipelined packet distribution
> > > mechanism. This mechanism has the following characteristics:
> > >
> > > • No multiple queue cost, therefore, latency is significant reduced.
> > > • Fixed dependencies between queue/ports is more suitable for complex.
> > >   fixed pipelines of stateless packet processing (static pipeline).
> > > • Has decentralized distribution (no scheduling core).
> > > • Packets remain in order (no reorder core(s)).
> > > * Update build system to enable compilation.
> > >
> > > Signed-off-by: Liang Ma <liang.j.ma at intel.com>
> > > Signed-off-by: Peter Mccarthy <peter.mccarthy at intel.com>
> > > ---
> > >  config/common_base                                |    6 +
> > >  drivers/event/Makefile                            |    1 +
> > >  drivers/event/opdl/Makefile                       |   62 +
> > >  drivers/event/opdl/opdl_log.h                     |   59 +
> > >  drivers/event/opdl/opdl_ring.c                    | 1252 +++++++++++++++++++++
> > >  drivers/event/opdl/opdl_ring.h                    |  628 +++++++++++
> > >  drivers/event/opdl/rte_pmd_evdev_opdl_version.map |    3 +
> > >  mk/rte.app.mk                                     |    1 +
> > >  mk/toolchain/gcc/rte.toolchain-compat.mk          |    6 +
> > >  mk/toolchain/icc/rte.toolchain-compat.mk          |    6 +
> > >  10 files changed, 2024 insertions(+)
> > >  create mode 100644 drivers/event/opdl/Makefile
> > >  create mode 100644 drivers/event/opdl/opdl_log.h
> > >  create mode 100644 drivers/event/opdl/opdl_ring.c
> > >  create mode 100644 drivers/event/opdl/opdl_ring.h
> > >  create mode 100644 drivers/event/opdl/rte_pmd_evdev_opdl_version.map
> > 
> > [...]
> > 
> > Reviewed-by: Seán Harte <seanbh at gmail.com>
> 
> I think, the series is not addressed all the v3 comments. I think, the
> missing ones are
> 
> 1) Use dynamic logging
dynamic logging is added in second patch, the first one is not the entry 
of the PMD. Please ref to the opdl_evdev.c  opdl_log.h

> 2) Split the patches based on eventdev ops:
> example:
> See the example from latest dpaa eventdev driver:
> http://dpdk.org/dev/patchwork/project/dpdk/list/?submitter=Sunil
> 3) Fix check-patch and check-git-log.sh errors.
> 
> Wrong headline format:
> 	doc:update 18.02 release notes
> Wrong headline prefix:
> 	eventdev/opdl: opdl eventdev pmd unit test function
> 	event/*: apply the three new capability flags for
> sw/dppa2/octeontx
> Wrong headline lowercase:
> 	event/opdl: add the opdl pmd main body and helper function
> 	eventdev/opdl: opdl eventdev pmd unit test function
> 	event/*: apply the three new capability flags for
> sw/dppa2/octeontx
> 	maintainers: add the opdl pmd maintainer information
> 	doc: add eventdev opdl pmd docuement
> Headline too long:
> 	event/*: apply the three new capability flags for
> sw/dppa2/octeontx
> 
> ### event/opdl: add the opdl ring infrastructure library
> 
> WARNING:LONG_LINE: line over 80 characters
> #451: FILE: drivers/event/opdl/opdl_ring.c:260:
> +		PMD_DRV_LOG(ERR, "%u entries is more than max (%u)", n,
> s->num_slots);
> 
> WARNING:LONG_LINE: line over 80 characters
> #1202: FILE: drivers/event/opdl/opdl_ring.c:1011:
> +			ev_orig = (struct rte_event *)get_slot(t,
> s->shadow_head+i);
> 
> WARNING:LONG_LINE: line over 80 characters
> #1203: FILE: drivers/event/opdl/opdl_ring.c:1012:
> +			if ((ev_orig->flow_id%s->nb_instance) ==
> s->instance_id) {
> 
> WARNING:LONG_LINE: line over 80 characters
> #1206: FILE: drivers/event/opdl/opdl_ring.c:1015:
> +					if
> ((ev_orig->event&OPDL_EVENT_MASK) != ev_temp) {
> 
> total: 0 errors, 4 warnings, 2049 lines checked
> 
> ### event/opdl: add the opdl pmd main body and helper function
> 
> WARNING:LONG_LINE: line over 80 characters
> #1489: FILE: drivers/event/opdl/opdl_evdev_init.c:301:
> +		opdl_ring_cas_slot(p->enq_stage_inst, &ev[i], i,
> p->atomic_claim);
> 
> WARNING:LONG_LINE: line over 80 characters
> #2027: FILE: drivers/event/opdl/opdl_evdev_init.c:839:
> +
> opdl_pmd_dev_id(port->opdl),
> 
> WARNING:LONG_LINE: line over 80 characters
> #2056: FILE: drivers/event/opdl/opdl_evdev_init.c:868:
> +
> opdl_pmd_dev_id(port->opdl),
> 
> total: 0 errors, 3 warnings, 2309 lines checked
> 
> ### eventdev/opdl: opdl eventdev pmd unit test function
> 
> WARNING:LONG_LINE: line over 80 characters
> #247: FILE: drivers/event/opdl/opdl_test.c:189:
> +			PMD_DRV_LOG(ERR, "%d: error creating qid %d\n ",
> __LINE__, i);
> 
> WARNING:LONG_LINE: line over 80 characters
> #314: FILE: drivers/event/opdl/opdl_test.c:256:
> +			PMD_DRV_LOG(ERR, "%d: error mapping lb qid\n",
> __LINE__);
> 
> WARNING:LONG_LINE: line over 80 characters
> #451: FILE: drivers/event/opdl/opdl_test.c:393:
> +			PMD_DRV_LOG(ERR, "%d: error mapping lb qid\n",
> __LINE__);
> 
> WARNING:LONG_LINE: line over 80 characters
> #505: FILE: drivers/event/opdl/opdl_test.c:447:
> +				PMD_DRV_LOG(ERR, "%d: deq none zero
> !\n", __LINE__);
> 
> total: 0 errors, 4 warnings, 1102 lines checked
> 
> 


More information about the dev mailing list