Hi Arek, > -----Original Message----- > From: Kusztal, ArkadiuszX > Sent: Tuesday, September 27, 2016 6:50 AM > To: dev at dpdk.org > Cc: Trahe, Fiona; Jain, Deepak K; De Lara Guarch, Pablo; Griffin, John; > Kusztal, > ArkadiuszX > Subject: [PATCH v3] app/test: add AES GCM performance test to cryptodev > > This patch adds AES Galois Counter Mode performance test case > for cryptodev QAT and AESNI GCM. Test is performed with different > buffer sizes, burst size of 32 and 128b key. Test vectors > are placed in app/test/test_cryptodev_perf_vectors.h file. > > Signed-off-by: Arek Kusztal <arkadiuszx.kusztal at intel.com> > --- > This patch depends on the following patches/patchsets: > > "app/test: fix linkage scope of gmac plaintext array" > (http://dpdk.org/dev/patchwork/patch/16023/) > > v2: > * Fixed 32b build problem in test_cryptodev_perf.c > v3: > * Added multiple test cases possibility > * Added AESNI GCM test suite > --- > app/test/test_cryptodev_gcm_test_vectors.h | 632 > +++++++++++++++++++++++++++++ > app/test/test_cryptodev_perf.c | 482 +++++++++++++++++++++- > 2 files changed, 1111 insertions(+), 3 deletions(-) > > diff --git a/app/test/test_cryptodev_perf.c b/app/test/test_cryptodev_perf.c > index 20713d4..3bb6f34 100644 > --- a/app/test/test_cryptodev_perf.c > +++ b/app/test/test_cryptodev_perf.c > @@ -41,6 +41,7 @@
[...] > +static int > +perf_AES_GCM(uint8_t dev_id, uint16_t queue_id, > + struct perf_test_params *pparams, uint32_t test_ops) > +{ [...] > + if (burst_dequeued == 0) > + failed_polls++; > + else { > + processed += burst_dequeued; > + > + for (m = 0; m < burst_dequeued; m++) { > + if (test_ops) { > + uint16_t iv_pad_len = > ALIGN_POW2_ROUNDUP > + (pparams->symmetric_op->iv_len, > 16); > + uint8_t *pkt = rte_pktmbuf_mtod( > + proc_ops[m]->sym->m_src, > + uint8_t *); > + > + TEST_ASSERT_BUFFERS_ARE_EQUAL( > + pparams->symmetric_op->c_data, > + pkt + iv_pad_len + > + pparams->symmetric_op->aad_len, > + pparams->symmetric_op->c_len, > + "GCM Ciphertext data not as > expected"); > + > + TEST_ASSERT_BUFFERS_ARE_EQUAL( > + pparams->symmetric_op->t_data, > + pkt + iv_pad_len + > + pparams->symmetric_op->aad_len + > + pparams->symmetric_op->c_len, > + pparams->symmetric_op->t_len, > + "GCM MAC data not as expected"); > + > + } > + rte_crypto_op_free(proc_ops[m]); > + } Please, check the indentation here. Checkpatch complained here. Thanks, Pablo > + } > + } > + > + tsc_end = rte_rdtsc_precise(); > + > + double ops_s = ((double)processed / (tsc_end - tsc_start)) > + * rte_get_tsc_hz(); > + double throughput = (ops_s * pparams->symmetric_op->p_len * 8) > + / 1000000000;