From 0ea2638441e022b2443e4b7c99d45ed49b62ee39 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Thu, 29 Jul 2021 09:14:33 +0200 Subject: bsps/cache: Optimize smp_cache_broadcast() Directly call the handler on the executing processor instead of doing this indirectly via a per-CPU job. --- bsps/shared/cache/cacheimpl.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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 ); -- cgit v1.2.3