From ba1ed5240b2f8c724a8efa8f652a8ba391fc92dd Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Fri, 2 Oct 2015 07:59:24 +0200 Subject: [PATCH] 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. --- cpukit/score/include/rtems/score/smplock.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 =