diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2019-04-11 15:16:40 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2019-04-12 09:44:48 +0200 |
commit | e90486ab41a4edf045a6153675b6be9dcd422b71 (patch) | |
tree | ea0ad25fd9d9324ca02f9a26556d6cc5e2e9a592 /cpukit/include/rtems/score/smpimpl.h | |
parent | score: Use processor mask in _SMP_Multicast_action (diff) | |
download | rtems-e90486ab41a4edf045a6153675b6be9dcd422b71.tar.bz2 |
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.
Diffstat (limited to '')
-rw-r--r-- | cpukit/include/rtems/score/smpimpl.h | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/cpukit/include/rtems/score/smpimpl.h b/cpukit/include/rtems/score/smpimpl.h index 6b59b9497d..d6fdef5ca1 100644 --- a/cpukit/include/rtems/score/smpimpl.h +++ b/cpukit/include/rtems/score/smpimpl.h @@ -51,11 +51,11 @@ extern "C" { #define SMP_MESSAGE_TEST 0x2UL /** - * @brief SMP message to request a multicast action. + * @brief SMP message to perform per-processor jobs. * * @see _SMP_Send_message(). */ -#define SMP_MESSAGE_MULTICAST_ACTION 0x4UL +#define SMP_MESSAGE_PERFORM_JOBS 0x4UL /** * @brief SMP message to request a clock tick. @@ -158,11 +158,6 @@ static inline void _SMP_Set_test_message_handler( } /** - * @brief Processes all pending multicast actions. - */ -void _SMP_Multicast_actions_process( void ); - -/** * @brief Interrupt handler for inter-processor interrupts. * * @return The received message. @@ -195,8 +190,8 @@ static inline long unsigned _SMP_Inter_processor_interrupt_handler( ( *_SMP_Test_message_handler )( cpu_self ); } - if ( ( message & SMP_MESSAGE_MULTICAST_ACTION ) != 0 ) { - _SMP_Multicast_actions_process(); + if ( ( message & SMP_MESSAGE_PERFORM_JOBS ) != 0 ) { + _Per_CPU_Perform_jobs( cpu_self ); } } |