From fb8ed8b95529db095b7305938db17a545ca9eeef Mon Sep 17 00:00:00 2001 From: Filip Tehlar Date: Thu, 5 Mar 2020 16:41:27 +0000 Subject: crypto: align per thread data to cache line Type: improvement Change-Id: I6bad46403c07b211dfda7229aed1b5e19342865f Signed-off-by: Filip Tehlar --- src/plugins/crypto_ipsecmb/ipsecmb.c | 4 +++- src/plugins/crypto_native/crypto_native.h | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/plugins/crypto_ipsecmb/ipsecmb.c b/src/plugins/crypto_ipsecmb/ipsecmb.c index 11e52322775..14d618c8b7e 100644 --- a/src/plugins/crypto_ipsecmb/ipsecmb.c +++ b/src/plugins/crypto_ipsecmb/ipsecmb.c @@ -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) diff --git a/src/plugins/crypto_native/crypto_native.h b/src/plugins/crypto_native/crypto_native.h index 279684b8b8e..b83dd773e44 100644 --- a/src/plugins/crypto_native/crypto_native.h +++ b/src/plugins/crypto_native/crypto_native.h @@ -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; -- cgit 1.2.3-korg