From eb98dd49bceba1dc0e1bd63a47492a53c0b0193f Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Wed, 9 Nov 2016 13:14:38 +0100 Subject: score: Inline some SMP lock operations by default The SMP ticket lock release turned out to be suitable for inlining, e.g. a hand full of instructions, no branches. The changes in the screen files do not reflect the changes due to this commit. However, they are now up to date. Obtained on a T4240 running at 1.5GHz using GCC 7.0.0 20161108.. --- cpukit/score/src/smplock.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'cpukit/score/src/smplock.c') diff --git a/cpukit/score/src/smplock.c b/cpukit/score/src/smplock.c index 73fa67d74d..e921837455 100644 --- a/cpukit/score/src/smplock.c +++ b/cpukit/score/src/smplock.c @@ -41,6 +41,7 @@ void _SMP_lock_Acquire( _SMP_lock_Acquire_inline( lock, context ); } +#if defined(RTEMS_SMP_LOCK_DO_NOT_INLINE) void _SMP_lock_Release( SMP_lock_Control *lock, SMP_lock_Context *context @@ -48,6 +49,7 @@ void _SMP_lock_Release( { _SMP_lock_Release_inline( lock, context ); } +#endif void _SMP_lock_ISR_disable_and_acquire( SMP_lock_Control *lock, @@ -57,6 +59,7 @@ void _SMP_lock_ISR_disable_and_acquire( _SMP_lock_ISR_disable_and_acquire_inline( lock, context ); } +#if defined(RTEMS_SMP_LOCK_DO_NOT_INLINE) void _SMP_lock_Release_and_ISR_enable( SMP_lock_Control *lock, SMP_lock_Context *context @@ -64,6 +67,7 @@ void _SMP_lock_Release_and_ISR_enable( { _SMP_lock_Release_and_ISR_enable_inline( lock, context ); } +#endif #if defined(RTEMS_DEBUG) bool _SMP_lock_Is_owner( const SMP_lock_Control *lock ) -- cgit v1.2.3