[dpdk-dev] [PATCH 2/2] event/sw: use dynamically-sized IQs

Jerin Jacob jerin.jacob at caviumnetworks.com
Sat Dec 9 10:26:44 CET 2017


-----Original Message-----
> Date: Thu, 7 Dec 2017 17:15:35 +0000
> From: "Van Haaren, Harry" <harry.van.haaren at intel.com>
> To: "Eads, Gage" <gage.eads at intel.com>, "dev at dpdk.org" <dev at dpdk.org>
> CC: "jerin.jacob at caviumnetworks.com" <jerin.jacob at caviumnetworks.com>,
>  "Richardson, Bruce" <bruce.richardson at intel.com>, "hemant.agrawal at nxp.com"
>  <hemant.agrawal at nxp.com>, "nipun.gupta at nxp.com" <nipun.gupta at nxp.com>,
>  "santosh.shukla at caviumnetworks.com" <santosh.shukla at caviumnetworks.com>,
>  "pbhagavatula at caviumnetworks.com" <pbhagavatula at caviumnetworks.com>
> Subject: RE: [PATCH 2/2] event/sw: use dynamically-sized IQs
> 
> > From: Eads, Gage
> > Sent: Thursday, November 30, 2017 3:09 AM
> > To: dev at dpdk.org
> > Cc: jerin.jacob at caviumnetworks.com; Van Haaren, Harry
> > <harry.van.haaren at intel.com>; Richardson, Bruce
> > <bruce.richardson at intel.com>; hemant.agrawal at nxp.com; nipun.gupta at nxp.com;
> > santosh.shukla at caviumnetworks.com; pbhagavatula at caviumnetworks.com
> > Subject: [PATCH 2/2] event/sw: use dynamically-sized IQs
> > 
> > This commit introduces dynamically-sized IQs, by switching the underlying
> > data structure from a fixed-size ring to a linked list of queue 'chunks.'
> > This has a number of benefits:
> > - Certain corner cases were observed in which all of a pipeline's flows
> >   could be pinned to one port for extended periods, effectively turning a
> >   multi-core pipeline into single-core one. This was caused by an event
> >   producer having a larger new_event_threshold than the IQ depth, and
> >   injecting large numbers of packets that are ultimately backpressured in a
> >   worker's rx_ring, causing those packets' flows to be scheduled to that
> >   port.
> >   The dynamically sized IQ does not have this problem because each IQ can
> >   grow large enough to store all the system's events, such that
> >   backpressure will not reach the worker_ring.
> > - Slight performance improvement (~1-2%) in high throughput scenarios,
> >   tested with eventdev_pipeline_sw_pmd.
> > 
> > This implementation has a small increase in the queue storage memory
> > footprint (~70KB). This commit also removes the iq_size xstat, which no
> > longer applies to this implementation.
> > 
> > Signed-off-by: Gage Eads <gage.eads at intel.com>
> 
> Some review notes below - but nothing that needs changing.
> 
> Acked-by: Harry van Haaren <harry.van.haaren at intel.com>
> 

Applied to dpdk-next-eventdev/master. Thanks.

> 


More information about the dev mailing list