aboutsummaryrefslogtreecommitdiff
path: root/sys/kern/kern_rwlock.c
diff options
context:
space:
mode:
authorDimitry Andric <dim@FreeBSD.org>2017-02-17 20:19:38 +0000
committerDimitry Andric <dim@FreeBSD.org>2017-02-17 20:19:38 +0000
commita3906ca572a6be18d39883a1ce431f147918385a (patch)
treec9736dd18bc357aee191ebdb1fb7cfd2dbc0c408 /sys/kern/kern_rwlock.c
parent2bcad0d8d6ddcdb3e8aff686ea467142b6f1d752 (diff)
parente9200a6cc226d6015597a4aa5e8ddf7e608e6113 (diff)
downloadsrc-a3906ca572a6be18d39883a1ce431f147918385a.tar.gz
src-a3906ca572a6be18d39883a1ce431f147918385a.zip
Merge ^/head r313644 through r313895.
Notes
Notes: svn path=/projects/clang400-import/; revision=313896
Diffstat (limited to 'sys/kern/kern_rwlock.c')
-rw-r--r--sys/kern/kern_rwlock.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/sys/kern/kern_rwlock.c b/sys/kern/kern_rwlock.c
index 9464588b9eda..bf74b6710499 100644
--- a/sys/kern/kern_rwlock.c
+++ b/sys/kern/kern_rwlock.c
@@ -267,9 +267,6 @@ _rw_wlock_cookie(volatile uintptr_t *c, const char *file, int line)
struct rwlock *rw;
uintptr_t tid, v;
- if (SCHEDULER_STOPPED())
- return;
-
rw = rwlock2rw(c);
KASSERT(kdb_active != 0 || !TD_IS_IDLETHREAD(curthread),
@@ -335,9 +332,6 @@ _rw_wunlock_cookie(volatile uintptr_t *c, const char *file, int line)
{
struct rwlock *rw;
- if (SCHEDULER_STOPPED())
- return;
-
rw = rwlock2rw(c);
KASSERT(rw->rw_lock != RW_DESTROYED,
@@ -347,7 +341,11 @@ _rw_wunlock_cookie(volatile uintptr_t *c, const char *file, int line)
LOCK_LOG_LOCK("WUNLOCK", &rw->lock_object, 0, rw->rw_recurse, file,
line);
+#ifdef LOCK_PROFILING
_rw_wunlock_hard(rw, (uintptr_t)curthread, file, line);
+#else
+ __rw_wunlock(rw, curthread, file, line);
+#endif
TD_LOCKS_DEC(curthread);
}