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/semaphore_i.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'kern/semaphore_i.h') diff --git a/kern/semaphore_i.h b/kern/semaphore_i.h index 9aa68e07..54985062 100644 --- a/kern/semaphore_i.h +++ b/kern/semaphore_i.h @@ -37,7 +37,7 @@ semaphore_dec(struct semaphore *semaphore) break; } - prev = atomic_cas_seq_cst(&semaphore->value, value, value - 1); + prev = atomic_cas_acquire(&semaphore->value, value, value - 1); } while (prev != value); return value; @@ -48,7 +48,7 @@ semaphore_inc(struct semaphore *semaphore) { unsigned int prev; - prev = atomic_fetch_add(&semaphore->value, 1, ATOMIC_SEQ_CST); + prev = atomic_fetch_add(&semaphore->value, 1, ATOMIC_RELEASE); assert(prev != SEMAPHORE_VALUE_MAX); return prev; } -- cgit v1.2.3