From 93008c26e9226fa86a7d2e5569b9e69c29d0996b Mon Sep 17 00:00:00 2001 From: Andrew Yourtchenko Date: Thu, 13 Sep 2018 11:13:13 +0200 Subject: [PATCH] acl-plugin: do not do clib_smp_atomic_add on per-worker counters 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 --- src/plugins/acl/session_inlines.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/plugins/acl/session_inlines.h b/src/plugins/acl/session_inlines.h index 93683c4c4a1..cab4d7d4cc9 100644 --- a/src/plugins/acl/session_inlines.h +++ b/src/plugins/acl/session_inlines.h @@ -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; } -- 2.16.6