diff options
author | Richard Braun <rbraun@sceen.net> | 2017-09-07 20:59:07 +0200 |
---|---|---|
committer | Richard Braun <rbraun@sceen.net> | 2017-09-07 21:51:38 +0200 |
commit | 652096292732e1ca10d22a3dfaa24af098956c6a (patch) | |
tree | 0faad4a270795b6d6c6a0341b445cd8610162c39 /kern/semaphore.h | |
parent | 63838cf0f495bd18e166499ce1b99f4bf5c26fa5 (diff) |
kern/semaphore: do not assume common case
Unlike locks, which are expected to be used with the goal of minimum
contention in mind, semaphores usage is more vague and it's not reasonable
to expect a common case where they're unlocked.
Diffstat (limited to 'kern/semaphore.h')
-rw-r--r-- | kern/semaphore.h | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/kern/semaphore.h b/kern/semaphore.h index e1acbf21..9de5d4a8 100644 --- a/kern/semaphore.h +++ b/kern/semaphore.h @@ -37,7 +37,6 @@ #include <kern/atomic.h> #include <kern/error.h> -#include <kern/macros.h> #define SEMAPHORE_VALUE_MAX 32768 @@ -69,7 +68,7 @@ semaphore_trywait(struct semaphore *semaphore) prev = semaphore_dec(semaphore); - if (unlikely(prev == 0)) { + if (prev == 0) { return ERROR_AGAIN; } @@ -89,7 +88,7 @@ semaphore_wait(struct semaphore *semaphore) prev = semaphore_dec(semaphore); - if (unlikely(prev == 0)) { + if (prev == 0) { semaphore_wait_slow(semaphore); } } @@ -101,7 +100,7 @@ semaphore_timedwait(struct semaphore *semaphore, uint64_t ticks) prev = semaphore_dec(semaphore); - if (unlikely(prev == 0)) { + if (prev == 0) { return semaphore_timedwait_slow(semaphore, ticks); } @@ -123,7 +122,7 @@ semaphore_post(struct semaphore *semaphore) prev = semaphore_inc(semaphore); - if (unlikely(prev == 0)) { + if (prev == 0) { semaphore_post_slow(semaphore); } } |