From bcbe8dc991a9ec63f30d50ed4cca89fd9e6b7ff7 Mon Sep 17 00:00:00 2001 From: Agustina Arzille Date: Fri, 5 May 2017 04:01:13 -1000 Subject: Replace sequential consistency with more efficient orders --- kern/mutex.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'kern/mutex.c') 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); } -- cgit v1.2.3