[dpdk-dev] [PATCH v3] app/test: add AES GCM performance test to cryptodev
De Lara Guarch, Pablo
pablo.de.lara.guarch at intel.com
Wed Sep 28 02:45:21 CEST 2016
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;
More information about the dev
mailing list