crypto: align per thread data to cache line 09/25709/2
authorFilip Tehlar <ftehlar@cisco.com>
Thu, 5 Mar 2020 16:41:27 +0000 (16:41 +0000)
committerDave Barach <openvpp@barachs.net>
Fri, 6 Mar 2020 13:35:09 +0000 (13:35 +0000)
Type: improvement

Change-Id: I6bad46403c07b211dfda7229aed1b5e19342865f
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
src/plugins/crypto_ipsecmb/ipsecmb.c
src/plugins/crypto_native/crypto_native.h

index 11e5232..14d618c 100644 (file)
@@ -30,6 +30,7 @@
 
 typedef struct
 {
+  CLIB_CACHE_LINE_ALIGN_MARK (cacheline0);
   MB_MGR *mgr;
   __m128i cbc_iv;
 } ipsecmb_per_thread_data_t;
@@ -522,7 +523,8 @@ crypto_ipsecmb_init (vlib_main_t * vm)
                 IMB_VERSION_STR, 0);
   eidx = vnet_crypto_register_engine (vm, "ipsecmb", 80, (char *) name);
 
-  vec_validate (imbm->per_thread_data, tm->n_vlib_mains - 1);
+  vec_validate_aligned (imbm->per_thread_data, tm->n_vlib_mains - 1,
+                       CLIB_CACHE_LINE_BYTES);
 
   /* *INDENT-OFF* */
   vec_foreach (ptd, imbm->per_thread_data)
index 279684b..b83dd77 100644 (file)
@@ -22,6 +22,7 @@ typedef void *(crypto_native_key_fn_t) (vnet_crypto_key_t * key);
 
 typedef struct
 {
+  CLIB_CACHE_LINE_ALIGN_MARK (cacheline0);
   u8x16 cbc_iv[4];
 } crypto_native_per_thread_data_t;