summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2021-07-29 09:14:33 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2021-07-29 09:14:33 +0200
commit0ea2638441e022b2443e4b7c99d45ed49b62ee39 (patch)
tree4aa98401a705c47f0b82856640b01e46a02ab9df
parentscore: Change _SMP_Send_message() parameter type (diff)
downloadrtems-0ea2638441e022b2443e4b7c99d45ed49b62ee39.tar.bz2
bsps/cache: Optimize smp_cache_broadcast()
Directly call the handler on the executing processor instead of doing this indirectly via a per-CPU job.
-rw-r--r--bsps/shared/cache/cacheimpl.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/bsps/shared/cache/cacheimpl.h b/bsps/shared/cache/cacheimpl.h
index 3fceaba744..16fe59d804 100644
--- a/bsps/shared/cache/cacheimpl.h
+++ b/bsps/shared/cache/cacheimpl.h
@@ -299,7 +299,8 @@ static void smp_cache_broadcast( SMP_Action_handler handler, void *arg )
cpu_self = _Per_CPU_Get();
}
- _SMP_Broadcast_action( handler, arg );
+ ( *handler )( arg );
+ _SMP_Othercast_action( handler, arg );
if ( isr_level == 0 ) {
_Thread_Dispatch_enable( cpu_self );