From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Van Haaren, Harry" Subject: Re: [PATCH v3 08/12] app/eventdev: add pipeline queue test Date: Mon, 15 Jan 2018 10:17:50 +0000 Message-ID: References: <20171130072406.15605-1-pbhagavatula@caviumnetworks.com> <20180110145144.28403-1-pbhagavatula@caviumnetworks.com> <20180110145144.28403-8-pbhagavatula@caviumnetworks.com> <20180110200121.sfcs6o73q4tsupmi@Pavan-LT> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Cc: "dev@dpdk.org" To: 'Pavan Nikhilesh' , "jerin.jacob@caviumnetworks.com" , "santosh.shukla@caviumnetworks.com" , "Eads, Gage" , "hemant.agrawal@nxp.com" , "nipun.gupta@nxp.com" , "Ma, Liang J" Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by dpdk.org (Postfix) with ESMTP id AAC232C2E for ; Mon, 15 Jan 2018 11:17:54 +0100 (CET) In-Reply-To: <20180110200121.sfcs6o73q4tsupmi@Pavan-LT> Content-Language: en-US List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" > From: Pavan Nikhilesh [mailto:pbhagavatula@caviumnetworks.com] > Sent: Wednesday, January 10, 2018 8:01 PM > To: Van Haaren, Harry ; > jerin.jacob@caviumnetworks.com; santosh.shukla@caviumnetworks.com; Eads, > Gage ; hemant.agrawal@nxp.com; nipun.gupta@nxp.com; = Ma, > Liang J > Cc: dev@dpdk.org > Subject: Re: [dpdk-dev] [PATCH v3 08/12] app/eventdev: add pipeline queue > test >=20 > Hi Harry, >=20 > Thanks for the review. >=20 > On Wed, Jan 10, 2018 at 04:38:35PM +0000, Van Haaren, Harry wrote: > > > From: Pavan Nikhilesh [mailto:pbhagavatula@caviumnetworks.com] > > > Sent: Wednesday, January 10, 2018 2:52 PM > > > To: jerin.jacob@caviumnetworks.com; santosh.shukla@caviumnetworks.com= ; > Van > > > Haaren, Harry ; Eads, Gage > > > ; hemant.agrawal@nxp.com; nipun.gupta@nxp.com; M= a, > > > Liang J > > > Cc: dev@dpdk.org; Pavan Nikhilesh > > > Subject: [dpdk-dev] [PATCH v3 08/12] app/eventdev: add pipeline queue > test > > > > > > This is a pipeline queue test case that aims at testing the following= : > > > 1. Measure the end-to-end performance of an event dev with a ethernet > dev. > > > 2. Maintain packet ordering from Rx to Tx. > > > > > > The pipeline queue test configures the eventdev with Q queues and P > ports, > > > where Q is (nb_ethdev * nb_stages) + nb_ethdev and P is nb_workers. > > > > Why (nb_ethdev * nb_stages) number of Queues? > > > > I had expected if the test is for eventdev with Q queues, P ports, that > that Q number of stages is all that is required, (possibly with +1 for TX > queue, iirc some HW doesn't require the TX Queue). > > > > Am I missing something here? I've left the code snippet I don't underst= and > below. > > >=20 > The idea is to reduce the load on ingress event queue (mapped to ethernet= Rx > queue) > by splitting the traffic across event queues for each ethernet device. >=20 > for example, nb_stages =3D 2 and nb_ethdev =3D 2 then >=20 > nb_queues =3D (2 * 2) + 2 =3D 6 (non atq) > stride =3D 3 (nb_stages + 1 used for directing each ethernet dev traffic > into a specific event queue) >=20 > queue id's 0,1,2,3,4,5 >=20 > This allows us to direct the traffic from eth dev0 to event queue 0 and d= ev1 > to > queue 3 based on the stride (dev_id * stride). This intern forms two > pipelines > ethdev0 0->1->2->tx > ethdev1 3->4->5->tx >=20 > In the absence of this both ethdev0 and ethdev1 would have to inject to = 0th > queue and this leads to more congestion as the number of ethernet devices > increase. >=20 > Hope this clears things up. Ah ok, two parallel pipelines use-case. Makes sense, thanks for explaining. Acked-by: Harry van Haaren