[PATCH] smptests/smpcache01: Enable interrupts before waiting for other CPUs

Daniel Cederman cederman at gaisler.com
Wed Apr 22 07:22:27 UTC 2015


Otherwise there is a risk that a CPU misses a cache manager message
from another CPU and the test hangs.
---
 testsuites/smptests/smpcache01/init.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/testsuites/smptests/smpcache01/init.c b/testsuites/smptests/smpcache01/init.c
index 7ad2ef9..0127a6c 100644
--- a/testsuites/smptests/smpcache01/init.c
+++ b/testsuites/smptests/smpcache01/init.c
@@ -120,12 +120,12 @@ static void test_func_isrdisabled_test( size_t set_size, cpu_set_t *cpu_set,
 
   _SMP_Multicast_action( set_size, cpu_set, test_cache_message, &ctx );
 
+  _ISR_Enable_without_giant( isr_level );
+
   _SMP_barrier_Wait( &ctx.barrier, bs, rtems_get_processor_count() );
 
   rtems_test_assert( ctx.count[rtems_get_current_processor()] ==
       rtems_get_processor_count() );
-
-  _ISR_Enable_without_giant( isr_level );
 }
 
 static void test_func_giant_taken_test( size_t set_size, cpu_set_t *cpu_set,
-- 
2.2.1



More information about the devel mailing list