svn commit: r325706 - head/sys/kern
Mateusz Guzik
mjg at FreeBSD.org
Sat Nov 11 09:34:13 UTC 2017
Author: mjg
Date: Sat Nov 11 09:34:11 2017
New Revision: 325706
URL: https://svnweb.freebsd.org/changeset/base/325706
Log:
rwlock: use fcmpset for setting RW_LOCK_WRITE_SPINNER
Modified:
head/sys/kern/kern_rwlock.c
Modified: head/sys/kern/kern_rwlock.c
==============================================================================
--- head/sys/kern/kern_rwlock.c Sat Nov 11 07:21:49 2017 (r325705)
+++ head/sys/kern/kern_rwlock.c Sat Nov 11 09:34:11 2017 (r325706)
@@ -929,9 +929,8 @@ __rw_wlock_hard(volatile uintptr_t *c, uintptr_t v, ui
if ((v & RW_LOCK_READ) && RW_READERS(v) &&
spintries < rowner_retries) {
if (!(v & RW_LOCK_WRITE_SPINNER)) {
- if (!atomic_cmpset_ptr(&rw->rw_lock, v,
+ if (!atomic_fcmpset_ptr(&rw->rw_lock, &v,
v | RW_LOCK_WRITE_SPINNER)) {
- v = RW_READ_VALUE(rw);
continue;
}
}
More information about the svn-src-all
mailing list