Lines Matching refs:lock_object

71 static void	db_show_rwlock(const struct lock_object *lock);
73 static void assert_rw(const struct lock_object *lock, int what);
74 static void lock_rw(struct lock_object *lock, uintptr_t how);
75 static int trylock_rw(struct lock_object *lock, uintptr_t how);
77 static int owner_rw(const struct lock_object *lock, struct thread **owner);
79 static uintptr_t unlock_rw(struct lock_object *lock);
163 assert_rw(const struct lock_object *lock, int what) in assert_rw()
170 lock_rw(struct lock_object *lock, uintptr_t how) in lock_rw()
182 trylock_rw(struct lock_object *lock, uintptr_t how) in trylock_rw()
194 unlock_rw(struct lock_object *lock) in unlock_rw()
211 owner_rw(const struct lock_object *lock, struct thread **owner) in owner_rw()
250 lock_init(&rw->lock_object, &lock_class_rw, name, NULL, flags); in _rw_init_flags()
265 lock_destroy(&rw->lock_object); in _rw_destroy()
299 WITNESS_CHECKORDER(&rw->lock_object, LOP_NEWORDER | LOP_EXCLUSIVE, file, in _rw_wlock_cookie()
309 LOCK_LOG_LOCK("WLOCK", &rw->lock_object, 0, rw->rw_recurse, file, line); in _rw_wlock_cookie()
310 WITNESS_LOCK(&rw->lock_object, LOP_EXCLUSIVE, file, line); in _rw_wlock_cookie()
341 if (v == tid && (rw->lock_object.lo_flags & LO_RECURSABLE)) { in __rw_try_wlock_int()
350 LOCK_LOG_TRY("WLOCK", &rw->lock_object, 0, rval, file, line); in __rw_try_wlock_int()
352 WITNESS_LOCK(&rw->lock_object, LOP_EXCLUSIVE | LOP_TRYLOCK, in __rw_try_wlock_int()
381 WITNESS_UNLOCK(&rw->lock_object, LOP_EXCLUSIVE, file, line); in _rw_wunlock_cookie()
382 LOCK_LOG_LOCK("WUNLOCK", &rw->lock_object, 0, rw->rw_recurse, file, in _rw_wunlock_cookie()
431 if (LOCK_LOG_TEST(&rw->lock_object, 0)) in __rw_rlock_try()
475 all_time -= lockstat_nsecs(&rw->lock_object); in __rw_rlock_hard()
495 lock_profile_obtain_lock_failed(&rw->lock_object, false, in __rw_rlock_hard()
498 THREAD_CONTENDS_ON_LOCK(&rw->lock_object); in __rw_rlock_hard()
516 if (LOCK_LOG_TEST(&rw->lock_object, 0)) in __rw_rlock_hard()
522 "lockname:\"%s\"", rw->lock_object.lo_name); in __rw_rlock_hard()
543 rw->lock_object.lo_name); in __rw_rlock_hard()
573 ts = turnstile_trywait(&rw->lock_object); in __rw_rlock_hard()
620 if (LOCK_LOG_TEST(&rw->lock_object, 0)) in __rw_rlock_hard()
629 if (LOCK_LOG_TEST(&rw->lock_object, 0)) in __rw_rlock_hard()
633 sleep_time -= lockstat_nsecs(&rw->lock_object); in __rw_rlock_hard()
638 sleep_time += lockstat_nsecs(&rw->lock_object); in __rw_rlock_hard()
641 if (LOCK_LOG_TEST(&rw->lock_object, 0)) in __rw_rlock_hard()
646 THREAD_CONTENTION_DONE(&rw->lock_object); in __rw_rlock_hard()
652 all_time += lockstat_nsecs(&rw->lock_object); in __rw_rlock_hard()
691 WITNESS_CHECKORDER(&rw->lock_object, LOP_NEWORDER, file, line, NULL); in __rw_rlock_int()
698 lock_profile_obtain_lock_success(&rw->lock_object, false, 0, 0, in __rw_rlock_int()
701 LOCK_LOG_LOCK("RLOCK", &rw->lock_object, 0, 0, file, line); in __rw_rlock_int()
702 WITNESS_LOCK(&rw->lock_object, 0, file, line); in __rw_rlock_int()
735 LOCK_LOG_TRY("RLOCK", &rw->lock_object, 0, 1, file, in __rw_try_rlock_int()
737 WITNESS_LOCK(&rw->lock_object, LOP_TRYLOCK, file, line); in __rw_try_rlock_int()
746 LOCK_LOG_TRY("RLOCK", &rw->lock_object, 0, 0, file, line); in __rw_try_rlock_int()
767 if (LOCK_LOG_TEST(&rw->lock_object, 0)) in __rw_runlock_try()
799 turnstile_chain_lock(&rw->lock_object); in __rw_runlock_hard()
832 if (LOCK_LOG_TEST(&rw->lock_object, 0)) in __rw_runlock_hard()
843 ts = turnstile_lookup(&rw->lock_object); in __rw_runlock_hard()
850 turnstile_chain_unlock(&rw->lock_object); in __rw_runlock_hard()
864 WITNESS_UNLOCK(&rw->lock_object, 0, file, line); in _rw_runlock_cookie_int()
865 LOCK_LOG_LOCK("RUNLOCK", &rw->lock_object, 0, 0, file, line); in _rw_runlock_cookie_int()
874 lock_profile_release_lock(&rw->lock_object, false); in _rw_runlock_cookie_int()
953 all_time -= lockstat_nsecs(&rw->lock_object); in __rw_wlock_hard()
969 KASSERT(rw->lock_object.lo_flags & LO_RECURSABLE, in __rw_wlock_hard()
974 if (LOCK_LOG_TEST(&rw->lock_object, 0)) in __rw_wlock_hard()
979 if (LOCK_LOG_TEST(&rw->lock_object, 0)) in __rw_wlock_hard()
981 rw->lock_object.lo_name, (void *)rw->rw_lock, file, line); in __rw_wlock_hard()
992 lock_profile_obtain_lock_failed(&rw->lock_object, false, in __rw_wlock_hard()
995 THREAD_CONTENDS_ON_LOCK(&rw->lock_object); in __rw_wlock_hard()
1025 if (LOCK_LOG_TEST(&rw->lock_object, 0)) in __rw_wlock_hard()
1030 rw->lock_object.lo_name); in __rw_wlock_hard()
1060 rw->lock_object.lo_name); in __rw_wlock_hard()
1083 ts = turnstile_trywait(&rw->lock_object); in __rw_wlock_hard()
1151 if (LOCK_LOG_TEST(&rw->lock_object, 0)) in __rw_wlock_hard()
1162 if (LOCK_LOG_TEST(&rw->lock_object, 0)) in __rw_wlock_hard()
1166 sleep_time -= lockstat_nsecs(&rw->lock_object); in __rw_wlock_hard()
1171 sleep_time += lockstat_nsecs(&rw->lock_object); in __rw_wlock_hard()
1174 if (LOCK_LOG_TEST(&rw->lock_object, 0)) in __rw_wlock_hard()
1182 THREAD_CONTENTION_DONE(&rw->lock_object); in __rw_wlock_hard()
1194 all_time += lockstat_nsecs(&rw->lock_object); in __rw_wlock_hard()
1236 if (LOCK_LOG_TEST(&rw->lock_object, 0)) in __rw_wunlock_hard()
1248 if (LOCK_LOG_TEST(&rw->lock_object, 0)) in __rw_wunlock_hard()
1251 turnstile_chain_lock(&rw->lock_object); in __rw_wunlock_hard()
1279 if (LOCK_LOG_TEST(&rw->lock_object, 0)) in __rw_wunlock_hard()
1283 ts = turnstile_lookup(&rw->lock_object); in __rw_wunlock_hard()
1287 turnstile_chain_unlock(&rw->lock_object); in __rw_wunlock_hard()
1333 ts = turnstile_trywait(&rw->lock_object); in __rw_try_upgrade_int()
1357 LOCK_LOG_TRY("WUPGRADE", &rw->lock_object, 0, success, file, line); in __rw_try_upgrade_int()
1360 WITNESS_UPGRADE(&rw->lock_object, LOP_EXCLUSIVE | LOP_TRYLOCK, in __rw_try_upgrade_int()
1397 WITNESS_DOWNGRADE(&rw->lock_object, 0, file, line); in __rw_downgrade_int()
1412 turnstile_chain_lock(&rw->lock_object); in __rw_downgrade_int()
1422 ts = turnstile_lookup(&rw->lock_object); in __rw_downgrade_int()
1436 turnstile_chain_unlock(&rw->lock_object); in __rw_downgrade_int()
1439 LOCK_LOG_LOCK("WDOWNGRADE", &rw->lock_object, 0, 0, file, line); in __rw_downgrade_int()
1480 witness_assert(&rw->lock_object, what, file, line); in __rw_assert()
1491 rw->lock_object.lo_name, (what & RA_RLOCKED) ? in __rw_assert()
1498 rw->lock_object.lo_name, file, in __rw_assert()
1502 rw->lock_object.lo_name, file, line); in __rw_assert()
1511 rw->lock_object.lo_name, file, line); in __rw_assert()
1515 rw->lock_object.lo_name, file, line); in __rw_assert()
1518 rw->lock_object.lo_name, file, line); in __rw_assert()
1522 witness_assert(&rw->lock_object, what, file, line); in __rw_assert()
1530 rw->lock_object.lo_name, file, line); in __rw_assert()
1542 db_show_rwlock(const struct lock_object *lock) in db_show_rwlock()