diff options
author | Agustina Arzille <avarzille@riseup.net> | 2017-05-05 04:01:13 -1000 |
---|---|---|
committer | Richard Braun <rbraun@sceen.net> | 2017-05-09 21:17:58 +0200 |
commit | bcbe8dc991a9ec63f30d50ed4cca89fd9e6b7ff7 (patch) | |
tree | 389517510b8d19082d02f36453dbf68356b548fb /kern/mutex.c | |
parent | b5864f82b9c0d8ea2e825e7d86bd8cdeb825f870 (diff) |
Replace sequential consistency with more efficient orders
Diffstat (limited to 'kern/mutex.c')
-rw-r--r-- | kern/mutex.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/kern/mutex.c b/kern/mutex.c index 00077f26..7899bef9 100644 --- a/kern/mutex.c +++ b/kern/mutex.c @@ -34,7 +34,7 @@ mutex_lock_slow(struct mutex *mutex) sleepq = sleepq_lend(mutex, false, &flags); for (;;) { - state = atomic_swap_seq_cst(&mutex->state, MUTEX_CONTENDED); + state = atomic_swap_acquire(&mutex->state, MUTEX_CONTENDED); if (state == MUTEX_UNLOCKED) { break; @@ -44,7 +44,7 @@ mutex_lock_slow(struct mutex *mutex) } if (sleepq_empty(sleepq)) { - state = atomic_swap_seq_cst(&mutex->state, MUTEX_LOCKED); + state = atomic_swap_acquire(&mutex->state, MUTEX_LOCKED); assert(state == MUTEX_CONTENDED); } |