[dpdk-stable] patch 'crypto/aesni_gcm: fix performance on some AVX512 CPUs' has been queued to stable release 20.11.3

luca.boccassi at gmail.com luca.boccassi at gmail.com
Mon Jul 12 15:05:10 CEST 2021


Hi,

FYI, your patch has been queued to stable release 20.11.3

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 07/14/21. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Queued patches are on a temporary branch at:
https://github.com/bluca/dpdk-stable

This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/636a31ebdd5f0e9ec7490c7da625733d121f95c9

Thanks.

Luca Boccassi

---
>From 636a31ebdd5f0e9ec7490c7da625733d121f95c9 Mon Sep 17 00:00:00 2001
From: Kai Ji <kai.ji at intel.com>
Date: Tue, 29 Jun 2021 16:19:07 +0100
Subject: [PATCH] crypto/aesni_gcm: fix performance on some AVX512 CPUs

[ upstream commit 93d5bdb5e39a46dad5d87e2317cc59a483cdc3a3 ]

This patch fixes the aesni_gcm performance issue on systems with AVX512
CPU flag presented but with VAES CPU flag missing, such as Skylake.

Fixes: 81fe96a0cece ("crypto/aesni_gcm: use architecture independent API")

Signed-off-by: Kai Ji <kai.ji at intel.com>
Acked-by: Fan Zhang <roy.fan.zhang at intel.com>
---
 drivers/crypto/aesni_gcm/aesni_gcm_pmd.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/drivers/crypto/aesni_gcm/aesni_gcm_pmd.c b/drivers/crypto/aesni_gcm/aesni_gcm_pmd.c
index 0de51202a6..cc4e08512b 100644
--- a/drivers/crypto/aesni_gcm/aesni_gcm_pmd.c
+++ b/drivers/crypto/aesni_gcm/aesni_gcm_pmd.c
@@ -842,8 +842,14 @@ aesni_gcm_create(const char *name,
 		init_mb_mgr_avx2(mb_mgr);
 		break;
 	case RTE_AESNI_GCM_AVX512:
-		dev->feature_flags |= RTE_CRYPTODEV_FF_CPU_AVX512;
-		init_mb_mgr_avx512(mb_mgr);
+		if (rte_cpu_get_flag_enabled(RTE_CPUFLAG_VAES)) {
+			dev->feature_flags |= RTE_CRYPTODEV_FF_CPU_AVX512;
+			init_mb_mgr_avx512(mb_mgr);
+		} else {
+			dev->feature_flags |= RTE_CRYPTODEV_FF_CPU_AVX2;
+			init_mb_mgr_avx2(mb_mgr);
+			vector_mode = RTE_AESNI_GCM_AVX2;
+		}
 		break;
 	default:
 		AESNI_GCM_LOG(ERR, "Unsupported vector mode %u\n", vector_mode);
-- 
2.30.2

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-07-12 13:41:40.558669133 +0100
+++ 0075-crypto-aesni_gcm-fix-performance-on-some-AVX512-CPUs.patch	2021-07-12 13:41:36.650125944 +0100
@@ -1 +1 @@
-From 93d5bdb5e39a46dad5d87e2317cc59a483cdc3a3 Mon Sep 17 00:00:00 2001
+From 636a31ebdd5f0e9ec7490c7da625733d121f95c9 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 93d5bdb5e39a46dad5d87e2317cc59a483cdc3a3 ]
+
@@ -10 +11,0 @@
-Cc: stable at dpdk.org
@@ -19 +20 @@
-index bc87e44a9d..886e2a5aaa 100644
+index 0de51202a6..cc4e08512b 100644


More information about the stable mailing list