summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2015-10-02 07:59:24 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2015-10-02 08:05:21 +0200
commitba1ed5240b2f8c724a8efa8f652a8ba391fc92dd (patch)
treea19ab9d6a59ec9dc1e8d15da49929e4dcf863d7a
parentpowerpc: Use wrtee for e6500 multilib (diff)
downloadrtems-ba1ed5240b2f8c724a8efa8f652a8ba391fc92dd.tar.bz2
SMP: Optimize ticket lock implementation
This reverts the relevant part of commit da06fe948c0878057e5f563ebd3dfe40c0f1b0d2. The acquire/release order is superfluous for the next ticket increment. The mutual exclusion is guaranteed by the acquire load from and release store to the next serving atomic variable.
-rw-r--r--cpukit/score/include/rtems/score/smplock.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/cpukit/score/include/rtems/score/smplock.h b/cpukit/score/include/rtems/score/smplock.h
index ccf6b5993b..f98f38a6a3 100644
--- a/cpukit/score/include/rtems/score/smplock.h
+++ b/cpukit/score/include/rtems/score/smplock.h
@@ -277,7 +277,7 @@ static inline void _SMP_ticket_lock_Do_acquire(
#endif
my_ticket =
- _Atomic_Fetch_add_uint( &lock->next_ticket, 1U, ATOMIC_ORDER_ACQ_REL );
+ _Atomic_Fetch_add_uint( &lock->next_ticket, 1U, ATOMIC_ORDER_RELAXED );
#if defined( RTEMS_PROFILING )
now_serving =