diff options
author | Dimitry Andric <dim@FreeBSD.org> | 2017-02-17 20:19:38 +0000 |
---|---|---|
committer | Dimitry Andric <dim@FreeBSD.org> | 2017-02-17 20:19:38 +0000 |
commit | a3906ca572a6be18d39883a1ce431f147918385a (patch) | |
tree | c9736dd18bc357aee191ebdb1fb7cfd2dbc0c408 /sys/kern/kern_rwlock.c | |
parent | 2bcad0d8d6ddcdb3e8aff686ea467142b6f1d752 (diff) | |
parent | e9200a6cc226d6015597a4aa5e8ddf7e608e6113 (diff) | |
download | src-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.c | 10 |
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); } |