From e90486ab41a4edf045a6153675b6be9dcd422b71 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Thu, 11 Apr 2019 15:16:40 +0200 Subject: score: Rework SMP multicast action Use a FIFO list of jobs per processor to carry out the SMP multicast action. Use a done indicator per job to reduce the bus traffic a bit. --- testsuites/smptests/smpcache01/init.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'testsuites/smptests/smpcache01/init.c') diff --git a/testsuites/smptests/smpcache01/init.c b/testsuites/smptests/smpcache01/init.c index 878a015bf1..e9cee1eec5 100644 --- a/testsuites/smptests/smpcache01/init.c +++ b/testsuites/smptests/smpcache01/init.c @@ -126,12 +126,15 @@ static void call_tests_isr_disabled( SMP_barrier_State *bs ) broadcast_test_init(); for (i = 0; i < RTEMS_ARRAY_SIZE( test_cases ); ++i) { - ISR_Level isr_level; + Per_CPU_Control *cpu_self; + ISR_Level isr_level; + cpu_self = _Thread_Dispatch_disable(); _ISR_Local_disable( isr_level ); barrier( bs ); ( *test_cases[ i ] )(); _ISR_Local_enable( isr_level ); + _Thread_Dispatch_enable( cpu_self ); barrier( bs ); } -- cgit v1.2.3