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

Sebastian Huber sebh at rtems.org
Wed Apr 22 07:32:18 UTC 2015


Module:    rtems
Branch:    master
Commit:    3641320161bdcdae5ca9892078ad21b4efe310ff
Changeset: http://git.rtems.org/rtems/commit/?id=3641320161bdcdae5ca9892078ad21b4efe310ff

Author:    Daniel Cederman <cederman at gaisler.com>
Date:      Wed Apr 22 09:22:27 2015 +0200

smptests/smpcache01: Enable interrupts before waiting for other CPUs

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,




More information about the vc mailing list