acl-plugin: do not do clib_smp_atomic_add on per-worker counters 95/14795/4
authorAndrew Yourtchenko <ayourtch@gmail.com>
Thu, 13 Sep 2018 09:13:13 +0000 (11:13 +0200)
committerOle Trøan <otroan@employees.org>
Fri, 14 Sep 2018 09:25:28 +0000 (09:25 +0000)
Just do a regular increment, since we are not contending for these counters.
This also makes the tests pass on ARM ThunderX (VPP-1395).

Change-Id: I333aaa11d4145d13d322868900bc114df85a020d
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
src/plugins/acl/session_inlines.h

index 93683c4..cab4d7d 100644 (file)
@@ -430,7 +430,7 @@ acl_fa_put_session (acl_main_t * am, u32 sw_if_index,
      as the caller must have dealt with the timers. */
   vec_validate (pw->fa_session_dels_by_sw_if_index, sw_if_index);
   clib_mem_set_heap (oldheap);
-  clib_smp_atomic_add (&pw->fa_session_dels_by_sw_if_index[sw_if_index], 1);
+  pw->fa_session_dels_by_sw_if_index[sw_if_index]++;
   clib_smp_atomic_add (&am->fa_session_total_dels, 1);
 }
 
@@ -569,7 +569,7 @@ acl_fa_add_session (acl_main_t * am, int is_input, int is_ip6,
 
   vec_validate (pw->fa_session_adds_by_sw_if_index, sw_if_index);
   clib_mem_set_heap (oldheap);
-  clib_smp_atomic_add (&pw->fa_session_adds_by_sw_if_index[sw_if_index], 1);
+  pw->fa_session_adds_by_sw_if_index[sw_if_index]++;
   clib_smp_atomic_add (&am->fa_session_total_adds, 1);
   return sess;
 }