diff options
Diffstat (limited to 'kern/mutex')
-rw-r--r-- | kern/mutex/mutex_adaptive.c | 10 | ||||
-rw-r--r-- | kern/mutex/mutex_plain.c | 10 |
2 files changed, 8 insertions, 12 deletions
diff --git a/kern/mutex/mutex_adaptive.c b/kern/mutex/mutex_adaptive.c index d17ad9d4..6c99eaf9 100644 --- a/kern/mutex/mutex_adaptive.c +++ b/kern/mutex/mutex_adaptive.c @@ -124,13 +124,12 @@ mutex_adaptive_lock_slow_common(struct mutex *mutex, bool timed, uint64_t ticks) uintptr_t self, owner; struct sleepq *sleepq; struct thread *thread; - unsigned long flags; int error; error = 0; self = (uintptr_t)thread_self(); - sleepq = sleepq_lend(mutex, false, &flags); + sleepq = sleepq_lend(mutex, false); mutex_adaptive_set_contended(mutex); @@ -223,7 +222,7 @@ mutex_adaptive_lock_slow_common(struct mutex *mutex, bool timed, uint64_t ticks) } out: - sleepq_return(sleepq, flags); + sleepq_return(sleepq); return error; } @@ -248,7 +247,6 @@ mutex_adaptive_unlock_slow(struct mutex *mutex) { uintptr_t self, owner; struct sleepq *sleepq; - unsigned long flags; int error; self = (uintptr_t)thread_self() | MUTEX_ADAPTIVE_CONTENDED; @@ -301,12 +299,12 @@ mutex_adaptive_unlock_slow(struct mutex *mutex) * on the current thread, in which case the latter doesn't return, * averting the need for an additional reference. */ - sleepq = sleepq_tryacquire(mutex, false, &flags); + sleepq = sleepq_tryacquire(mutex, false); if (sleepq != NULL) { mutex_adaptive_inc_sc(MUTEX_ADAPTIVE_SC_SIGNALS); sleepq_signal(sleepq); - sleepq_release(sleepq, flags); + sleepq_release(sleepq); break; } diff --git a/kern/mutex/mutex_plain.c b/kern/mutex/mutex_plain.c index 55e7a251..bc49ca0b 100644 --- a/kern/mutex/mutex_plain.c +++ b/kern/mutex/mutex_plain.c @@ -76,12 +76,11 @@ mutex_plain_lock_slow_common(struct mutex *mutex, bool timed, uint64_t ticks) { unsigned int state; struct sleepq *sleepq; - unsigned long flags; int error; error = 0; - sleepq = sleepq_lend(mutex, false, &flags); + sleepq = sleepq_lend(mutex, false); for (;;) { state = atomic_swap(&mutex->state, MUTEX_CONTENDED, ATOMIC_RELEASE); @@ -121,7 +120,7 @@ mutex_plain_lock_slow_common(struct mutex *mutex, bool timed, uint64_t ticks) } out: - sleepq_return(sleepq, flags); + sleepq_return(sleepq); return error; } @@ -145,9 +144,8 @@ void mutex_plain_unlock_slow(struct mutex *mutex) { struct sleepq *sleepq; - unsigned long flags; - sleepq = sleepq_acquire(mutex, false, &flags); + sleepq = sleepq_acquire(mutex, false); if (sleepq == NULL) { return; @@ -155,7 +153,7 @@ mutex_plain_unlock_slow(struct mutex *mutex) sleepq_signal(sleepq); - sleepq_release(sleepq, flags); + sleepq_release(sleepq); } static int |