DPDK patches and discussions
 help / color / mirror / Atom feed
From: Gagandeep Singh <G.Singh@nxp.com>
To: Akhil Goyal <gakhil@marvell.com>, "dev@dpdk.org" <dev@dpdk.org>,
	Hemant Agrawal <hemant.agrawal@nxp.com>
Cc: Anoob Joseph <anoobj@marvell.com>
Subject: RE: [EXT] [PATCH 1/8] app/test-crypto-perf: improve dequeue logic
Date: Mon, 16 May 2022 07:14:11 +0000	[thread overview]
Message-ID: <AS8PR04MB8198D0D70A95C1E4EA16DBD0E1CF9@AS8PR04MB8198.eurprd04.prod.outlook.com> (raw)
In-Reply-To: <CO6PR18MB448453E54D00126E9C6B0E1ED8CA9@CO6PR18MB4484.namprd18.prod.outlook.com>

Hi

> -----Original Message-----
> From: Akhil Goyal <gakhil@marvell.com>
> Sent: Friday, May 13, 2022 3:17 PM
> To: Gagandeep Singh <G.Singh@nxp.com>; dev@dpdk.org; Hemant Agrawal
> <hemant.agrawal@nxp.com>
> Cc: Anoob Joseph <anoobj@marvell.com>
> Subject: RE: [EXT] [PATCH 1/8] app/test-crypto-perf: improve dequeue logic
> 
> Hi Gagan,
> > Issue more dequeue commands if the gap between enqueued
> > and dequeued packets is more than burst size *8
> >
> > Signed-off-by: Gagandeep Singh <g.singh@nxp.com>
> > ---
> Why is this change required? What gain are we getting?
> I see a performance drop due to this patch.

Issue is, in case if security engine/driver is slow in processing the
Jobs especially for larger packet sizes then in that case application
will keep enqueuing packets with higher rate than dequeue which
may results in buffer pool exhaustion.
Application has option to increase pool size but that may not be
Helpful for the platforms those with memory constraints.

We can work on limiting the enqueue side instead of keeping the dequeue
to avoid any performance drop due to any empty dequeue.

Dropping this patch from this series. I will update the logic and
will try to send as separate patch.

> 
> >  app/test-crypto-perf/cperf_test_throughput.c | 42 +++++++++++---------
> >  1 file changed, 23 insertions(+), 19 deletions(-)
> >
> > diff --git a/app/test-crypto-perf/cperf_test_throughput.c b/app/test-crypto-
> > perf/cperf_test_throughput.c
> > index cecf30e470..5cd8919c91 100644
> > --- a/app/test-crypto-perf/cperf_test_throughput.c
> > +++ b/app/test-crypto-perf/cperf_test_throughput.c
> > @@ -223,26 +223,30 @@ cperf_throughput_test_runner(void *test_ctx)
> >  			ops_unused = burst_size - ops_enqd;
> >  			ops_enqd_total += ops_enqd;
> >
> > -
> >  			/* Dequeue processed burst of ops from crypto device
> > */
> > -			ops_deqd = rte_cryptodev_dequeue_burst(ctx->dev_id,
> > ctx->qp_id,
> > -					ops_processed, test_burst_size);
> > -
> > -			if (likely(ops_deqd))  {
> > -				/* Free crypto ops so they can be reused. */
> > -				rte_mempool_put_bulk(ctx->pool,
> > -						(void **)ops_processed,
> > ops_deqd);
> > -
> > -				ops_deqd_total += ops_deqd;
> > -			} else {
> > -				/**
> > -				 * Count dequeue polls which didn't return any
> > -				 * processed operations. This statistic is mainly
> > -				 * relevant to hw accelerators.
> > -				 */
> > -				ops_deqd_failed++;
> > -			}
> > -
> > +			do {
> > +				ops_deqd = rte_cryptodev_dequeue_burst(
> > +						ctx->dev_id, ctx->qp_id,
> > +						ops_processed,
> > test_burst_size);
> > +
> > +				if (likely(ops_deqd))  {
> > +					/* Free crypto ops for reuse */
> > +					rte_mempool_put_bulk(ctx->pool,
> > +							(void
> > **)ops_processed,
> > +							ops_deqd);
> > +
> > +					ops_deqd_total += ops_deqd;
> > +				} else {
> > +					/**
> > +					 * Count dequeue polls which didn't
> > +					 * return any processed operations.
> > +					 * This statistic is mainly relevant
> > +					 * to hw accelerators.
> > +					 */
> > +					ops_deqd_failed++;
> > +				}
> > +			} while (ops_enqd_total - ops_deqd_total >
> > +					test_burst_size * 8);
> >  		}
> >
> >  		/* Dequeue any operations still in the crypto device */
> > --
> > 2.25.1


  reply	other threads:[~2022-05-16  7:14 UTC|newest]

Thread overview: 49+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-04-25  4:14 Gagandeep Singh
2022-04-25  4:14 ` [PATCH 2/8] app/test-crypto-perf: support SDAP for PDCP operations Gagandeep Singh
2022-05-13  9:49   ` [EXT] " Akhil Goyal
2022-04-25  4:14 ` [PATCH 3/8] examples/ipsec-secgw: support XCBC-MAC/DES-CBC Gagandeep Singh
2022-05-13  9:54   ` [EXT] " Akhil Goyal
2022-05-16  9:45     ` Gagandeep Singh
2022-04-25  4:14 ` [PATCH 4/8] examples/l2fwd-crypto: add signal handler for exit Gagandeep Singh
2022-04-25  4:14 ` [PATCH 5/8] test/crypto: fix pmd name for dpaa raw buffer crypto driver Gagandeep Singh
2022-04-25  4:14 ` [PATCH 6/8] test/crypto: support raw buffer APIs for PDCP Gagandeep Singh
2022-04-25  4:14 ` [PATCH 7/8] test/crypto: add external buffer test case Gagandeep Singh
2022-05-13 10:26   ` [EXT] " Akhil Goyal
2022-05-16  7:25     ` Gagandeep Singh
2022-04-25  4:14 ` [PATCH 8/8] test/crypto: add short MAC-I test vector for zuc Gagandeep Singh
2022-05-13 10:46   ` [EXT] " Akhil Goyal
2022-05-16  7:27     ` Gagandeep Singh
2022-05-13  9:46 ` [EXT] [PATCH 1/8] app/test-crypto-perf: improve dequeue logic Akhil Goyal
2022-05-16  7:14   ` Gagandeep Singh [this message]
2022-05-16  7:26     ` Anoob Joseph
2022-05-16  7:54       ` Gagandeep Singh
2022-05-17  3:38 ` [PATCH v2 0/7] Crypto related changes in sample/test apps Gagandeep Singh
2022-05-17  3:38   ` [PATCH v2 1/7] app/test-crypto-perf: support SDAP for PDCP operations Gagandeep Singh
2022-05-20  4:20     ` [PATCH v3 0/7] Crypto related changes in sample/test apps Gagandeep Singh
2022-05-20  4:20       ` [PATCH v3 1/7] app/test-crypto-perf: support SDAP for PDCP operations Gagandeep Singh
2022-05-26 13:52         ` [EXT] " Akhil Goyal
2022-05-30  4:31           ` Gagandeep Singh
2022-05-30  6:04             ` Akhil Goyal
2022-05-31 18:14               ` Akhil Goyal
2022-06-06  4:00         ` [PATCH v4] " Gagandeep Singh
2022-06-15 16:06           ` [EXT] " Akhil Goyal
2022-05-20  4:20       ` [PATCH v3 2/7] examples/ipsec-secgw: support XCBC-MAC/DES-CBC Gagandeep Singh
2022-05-26 13:54         ` [EXT] " Akhil Goyal
2022-05-20  4:21       ` [PATCH v3 3/7] examples/l2fwd-crypto: add signal handler for exit Gagandeep Singh
2022-05-26 13:55         ` [EXT] " Akhil Goyal
2022-05-20  4:21       ` [PATCH v3 4/7] test/crypto: fix PMD name for dpaa raw buffer crypto driver Gagandeep Singh
2022-05-26 13:56         ` [EXT] " Akhil Goyal
2022-05-20  4:21       ` [PATCH v3 5/7] test/crypto: support raw buffer APIs for PDCP Gagandeep Singh
2022-05-26 13:58         ` [EXT] " Akhil Goyal
2022-05-20  4:21       ` [PATCH v3 6/7] test/crypto: add short MAC-I test vector for zuc Gagandeep Singh
2022-05-26 13:59         ` [EXT] " Akhil Goyal
2022-05-20  4:21       ` [PATCH v3 7/7] doc: add missing authentication algorithm Gagandeep Singh
2022-05-26 14:00         ` [EXT] " Akhil Goyal
2022-05-17  3:38   ` [PATCH v2 2/7] examples/ipsec-secgw: support XCBC-MAC/DES-CBC Gagandeep Singh
2022-05-17  3:38   ` [PATCH v2 3/7] examples/l2fwd-crypto: add signal handler for exit Gagandeep Singh
2022-05-17 16:32     ` Stephen Hemminger
2022-05-18  4:23       ` Gagandeep Singh
2022-05-17  3:38   ` [PATCH v2 4/7] test/crypto: fix PMD name for dpaa raw buffer crypto driver Gagandeep Singh
2022-05-17  3:38   ` [PATCH v2 5/7] test/crypto: support raw buffer APIs for PDCP Gagandeep Singh
2022-05-17  3:38   ` [PATCH v2 6/7] test/crypto: add short MAC-I test vector for zuc Gagandeep Singh
2022-05-17  3:38   ` [PATCH v2 7/7] doc: add missing authentication algorithm Gagandeep Singh

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=AS8PR04MB8198D0D70A95C1E4EA16DBD0E1CF9@AS8PR04MB8198.eurprd04.prod.outlook.com \
    --to=g.singh@nxp.com \
    --cc=anoobj@marvell.com \
    --cc=dev@dpdk.org \
    --cc=gakhil@marvell.com \
    --cc=hemant.agrawal@nxp.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).