diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2016-11-09 13:14:38 +0100 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2016-11-09 15:19:59 +0100 |
commit | eb98dd49bceba1dc0e1bd63a47492a53c0b0193f (patch) | |
tree | 5d848781816cb5a5e8f67a73c46193f4fe059dff /cpukit/score/src/smplock.c | |
parent | Provide kernel space header files (diff) | |
download | rtems-eb98dd49bceba1dc0e1bd63a47492a53c0b0193f.tar.bz2 |
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..
Diffstat (limited to 'cpukit/score/src/smplock.c')
-rw-r--r-- | cpukit/score/src/smplock.c | 4 |
1 files changed, 4 insertions, 0 deletions
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 ) |