ikev2: align per thread data to cache line 04/25704/3
authorFilip Tehlar <ftehlar@cisco.com>
Thu, 5 Mar 2020 16:17:59 +0000 (16:17 +0000)
committerDave Barach <openvpp@barachs.net>
Fri, 6 Mar 2020 13:33:58 +0000 (13:33 +0000)
Type: improvement

Change-Id: Id8fc6750e856862157917587234a6b7b03531b13
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
src/plugins/ikev2/ikev2.c
src/plugins/ikev2/ikev2_priv.h

index a9d7e56..03757c4 100644 (file)
@@ -3596,7 +3596,8 @@ ikev2_init (vlib_main_t * vm)
 
   mhash_init_vec_string (&km->profile_index_by_name, sizeof (uword));
 
-  vec_validate (km->per_thread_data, tm->n_vlib_mains - 1);
+  vec_validate_aligned (km->per_thread_data, tm->n_vlib_mains - 1,
+                       CLIB_CACHE_LINE_BYTES);
   for (thread_id = 0; thread_id < tm->n_vlib_mains - 1; thread_id++)
     {
       km->per_thread_data[thread_id].sa_by_rspi =
index 7609166..1cae47b 100644 (file)
@@ -436,6 +436,8 @@ typedef struct
 
 typedef struct
 {
+  CLIB_CACHE_LINE_ALIGN_MARK (cacheline0);
+
   /* pool of IKEv2 Security Associations */
   ikev2_sa_t *sas;