/freebsd/lib/libthr/thread/ |
H A D | thr_rwlock.c | 59 static int init_static(struct pthread *thread, pthread_rwlock_t *rwlock); 60 static int init_rwlock(pthread_rwlock_t *rwlock, pthread_rwlock_t *rwlock_out); 63 check_and_init_rwlock(pthread_rwlock_t *rwlock, pthread_rwlock_t *rwlock_out) in check_and_init_rwlock() argument 65 if (__predict_false(*rwlock == THR_PSHARED_PTR || in check_and_init_rwlock() 66 *rwlock <= THR_RWLOCK_DESTROYED)) in check_and_init_rwlock() 67 return (init_rwlock(rwlock, rwlock_out)); in check_and_init_rwlock() 68 *rwlock_out = *rwlock; in check_and_init_rwlock() 73 init_rwlock(pthread_rwlock_t *rwlock, pthread_rwlock_t *rwlock_out) in init_rwlock() argument 78 if (*rwlock == THR_PSHARED_PTR) { in init_rwlock() 79 prwlock = __thr_pshared_offpage(rwlock, 0); in init_rwlock() [all …]
|
H A D | thr_umtx.h | 67 int __thr_rwlock_rdlock(struct urwlock *rwlock, int flags, 69 int __thr_rwlock_wrlock(struct urwlock *rwlock, 71 int __thr_rwlock_unlock(struct urwlock *rwlock) __hidden; 74 void _thr_rwl_rdlock(struct urwlock *rwlock) __hidden; 75 void _thr_rwl_wrlock(struct urwlock *rwlock) __hidden; 76 void _thr_rwl_unlock(struct urwlock *rwlock) __hidden; 184 _thr_rwlock_tryrdlock(struct urwlock *rwlock, int flags) in _thr_rwlock_tryrdlock() argument 189 (rwlock->rw_flags & URWLOCK_PREFER_READER) != 0) in _thr_rwlock_tryrdlock() 193 state = rwlock->rw_state; in _thr_rwlock_tryrdlock() 198 if (atomic_cmpset_acq_32(&rwlock->rw_state, state, state + 1)) in _thr_rwlock_tryrdlock() [all …]
|
H A D | thr_umtx.c | 278 __thr_rwlock_rdlock(struct urwlock *rwlock, int flags, in __thr_rwlock_rdlock() argument 294 return (_umtx_op_err(rwlock, UMTX_OP_RW_RDLOCK, flags, in __thr_rwlock_rdlock() 299 __thr_rwlock_wrlock(struct urwlock *rwlock, const struct timespec *tsp) in __thr_rwlock_wrlock() argument 314 return (_umtx_op_err(rwlock, UMTX_OP_RW_WRLOCK, 0, (void *)tm_size, in __thr_rwlock_wrlock() 319 __thr_rwlock_unlock(struct urwlock *rwlock) in __thr_rwlock_unlock() argument 322 return (_umtx_op_err(rwlock, UMTX_OP_RW_UNLOCK, 0, NULL, NULL)); in __thr_rwlock_unlock() 326 _thr_rwl_rdlock(struct urwlock *rwlock) in _thr_rwl_rdlock() argument 331 if (_thr_rwlock_tryrdlock(rwlock, URWLOCK_PREFER_READER) == 0) in _thr_rwl_rdlock() 333 ret = __thr_rwlock_rdlock(rwlock, URWLOCK_PREFER_READER, NULL); in _thr_rwl_rdlock() 342 _thr_rwl_wrlock(struct urwlock *rwlock) in _thr_rwl_wrlock() argument [all …]
|
/freebsd/contrib/llvm-project/llvm/lib/Support/ |
H A D | RWMutex.cpp | 46 pthread_rwlock_t* rwlock = in RWMutexImpl() local 51 bzero(rwlock, sizeof(pthread_rwlock_t)); in RWMutexImpl() 55 int errorcode = pthread_rwlock_init(rwlock, nullptr); in RWMutexImpl() 60 data_ = rwlock; in RWMutexImpl() 66 pthread_rwlock_t* rwlock = static_cast<pthread_rwlock_t*>(data_); in ~RWMutexImpl() local 67 assert(rwlock != nullptr); in ~RWMutexImpl() 68 pthread_rwlock_destroy(rwlock); in ~RWMutexImpl() 69 free(rwlock); in ~RWMutexImpl() 75 pthread_rwlock_t* rwlock = static_cast<pthread_rwlock_t*>(data_); in lock_shared() local 76 assert(rwlock != nullptr); in lock_shared() [all …]
|
/freebsd/sys/contrib/vchiq/interface/compat/ |
H A D | vchi_bsd.h | 163 typedef struct rwlock rwlock_t; 166 struct rwlock name; \ 168 #define rwlock_init(rwlock) rw_init(rwlock, "VCHI rwlock") argument 169 #define read_lock(rwlock) rw_rlock(rwlock) argument 170 #define read_unlock(rwlock) rw_unlock(rwlock) argument 172 #define write_lock(rwlock) rw_wlock(rwlock) argument 173 #define write_unlock(rwlock) rw_unlock(rwlock) argument 174 #define write_lock_irqsave(rwlock, flags) \ argument 176 rw_wlock(rwlock); \ 179 #define write_unlock_irqrestore(rwlock, flags) \ argument [all …]
|
/freebsd/crypto/openssl/crypto/ |
H A D | threads_win.c | 44 CRYPTO_win_rwlock *rwlock; in CRYPTO_THREAD_lock_new() local 48 rwlock = lock; in CRYPTO_THREAD_lock_new() 49 InitializeSRWLock(&rwlock->lock); in CRYPTO_THREAD_lock_new() 74 CRYPTO_win_rwlock *rwlock = lock; in CRYPTO_THREAD_read_lock() local 76 AcquireSRWLockShared(&rwlock->lock); in CRYPTO_THREAD_read_lock() 86 CRYPTO_win_rwlock *rwlock = lock; in CRYPTO_THREAD_write_lock() local 88 AcquireSRWLockExclusive(&rwlock->lock); in CRYPTO_THREAD_write_lock() 89 rwlock->exclusive = 1; in CRYPTO_THREAD_write_lock() 99 CRYPTO_win_rwlock *rwlock = lock; in CRYPTO_THREAD_unlock() local 101 if (rwlock->exclusive) { in CRYPTO_THREAD_unlock() [all …]
|
/freebsd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/safety/ |
H A D | tst.rw.d | 41 @[rw_read_held((struct rwlock *)&`unp_global_rwlock)] = count(); 42 @[rw_read_held((struct rwlock *)rand())] = count(); 48 @[rw_write_held((struct rwlock *)&`unp_global_rwlock)] = count(); 49 @[rw_write_held((struct rwlock *)rand())] = count(); 55 @[rw_iswriter((struct rwlock *)&`unp_global_rwlock)] = count(); 56 @[rw_iswriter((struct rwlock *)rand())] = count();
|
/freebsd/sys/kern/ |
H A D | kern_rwlock.c | 66 #define rwlock2rw(c) (__containerof(c, struct rwlock, rw_lock)) 100 static SYSCTL_NODE(_debug, OID_AUTO, rwlock, 166 rw_assert((const struct rwlock *)lock, what); in assert_rw() 172 struct rwlock *rw; in lock_rw() 174 rw = (struct rwlock *)lock; in lock_rw() 184 struct rwlock *rw; in trylock_rw() 186 rw = (struct rwlock *)lock; in trylock_rw() 196 struct rwlock *rw; in unlock_rw() 198 rw = (struct rwlock *)lock; in unlock_rw() 213 const struct rwlock *rw = (const struct rwlock *)lock; in owner_rw() [all …]
|
H A D | kern_umtx.c | 3091 do_rw_rdlock(struct thread *td, struct urwlock *rwlock, long fflag, in do_rw_rdlock() argument 3102 error = fueword32(&rwlock->rw_flags, &flags); in do_rw_rdlock() 3105 error = umtx_key_get(rwlock, TYPE_RWLOCK, GET_SHARE(flags), &uq->uq_key); in do_rw_rdlock() 3117 rv = fueword32(&rwlock->rw_state, &state); in do_rw_rdlock() 3130 rv = casueword32(&rwlock->rw_state, state, in do_rw_rdlock() 3157 rv = fueword32(&rwlock->rw_state, &state); in do_rw_rdlock() 3164 rv = casueword32(&rwlock->rw_state, state, in do_rw_rdlock() 3198 rv = fueword32(&rwlock->rw_blocked_readers, in do_rw_rdlock() 3201 rv = suword32(&rwlock->rw_blocked_readers, in do_rw_rdlock() 3222 rv = fueword32(&rwlock->rw_state, &state); in do_rw_rdlock() [all …]
|
/freebsd/sys/ofed/drivers/infiniband/core/ |
H A D | ib_cache.c | 116 rwlock_t rwlock; member 181 __releases(&table->rwlock) __acquires(&table->rwlock) in write_gid() 193 write_unlock_irq(&table->rwlock); in write_gid() 203 write_lock_irq(&table->rwlock); in write_gid() 347 write_lock_irq(&table->rwlock); in ib_cache_gid_add() 365 write_unlock_irq(&table->rwlock); in ib_cache_gid_add() 380 write_lock_irq(&table->rwlock); in ib_cache_gid_del() 395 write_unlock_irq(&table->rwlock); in ib_cache_gid_del() 411 write_lock_irq(&table->rwlock); in ib_cache_gid_del_all_netdev_gids() 420 write_unlock_irq(&table->rwlock); in ib_cache_gid_del_all_netdev_gids() [all …]
|
/freebsd/sys/sys/ |
H A D | rwlock.h | 134 int __rw_try_wlock_int(struct rwlock *rw LOCK_FILE_LINE_ARG_DEF); 137 void __rw_rlock_int(struct rwlock *rw LOCK_FILE_LINE_ARG_DEF); 139 int __rw_try_rlock_int(struct rwlock *rw LOCK_FILE_LINE_ARG_DEF); 141 void _rw_runlock_cookie_int(struct rwlock *rw LOCK_FILE_LINE_ARG_DEF); 147 int __rw_try_upgrade_int(struct rwlock *rw LOCK_FILE_LINE_ARG_DEF); 149 void __rw_downgrade_int(struct rwlock *rw LOCK_FILE_LINE_ARG_DEF); 184 __rw_rlock_int((struct rwlock *)rw) 186 _rw_runlock_cookie_int((struct rwlock *)rw) 217 #error LOCK_DEBUG not defined, include <sys/lock.h> before <sys/rwlock.h>
|
H A D | _rwlock.h | 44 struct rwlock { struct
|
/freebsd/sys/dev/wg/ |
H A D | wg_cookie.h | 31 struct rwlock cm_lock; 40 struct rwlock cc_key_lock;
|
/freebsd/sys/riscv/riscv/ |
H A D | pmap.c | 194 struct rwlock **_lockp = (lockp); \ 195 struct rwlock *_new_lock; \ 210 struct rwlock **_lockp = (lockp); \ 295 static struct rwlock pv_list_locks[NPV_LIST_LOCKS]; 309 static pv_entry_t get_pv_entry(pmap_t pmap, struct rwlock **lockp); 310 static vm_page_t reclaim_pv_chunk(pmap_t locked_pmap, struct rwlock **lockp); 317 vm_offset_t va, struct rwlock **lockp); 319 u_int flags, vm_page_t m, struct rwlock **lockp); 321 vm_page_t m, vm_prot_t prot, vm_page_t mpte, struct rwlock **lockp); 323 pd_entry_t ptepde, struct spglist *free, struct rwlock **lockp); [all …]
|
/freebsd/sys/powerpc/aim/ |
H A D | mmu_radix.c | 567 struct rwlock **lockp); 571 struct spglist *free, struct rwlock **lockp); 573 pml3_entry_t ptepde, struct spglist *free, struct rwlock **lockp); 578 pml3_entry_t *l3e, struct spglist *free, struct rwlock **lockp); 581 u_int flags, struct rwlock **lockp); 584 struct rwlock **lockp); 589 vm_prot_t prot, vm_page_t mpte, struct rwlock **lockp, bool *invalidate); 592 vm_prot_t prot, struct rwlock **lockp); 594 u_int flags, vm_page_t m, struct rwlock **lockp); 596 static vm_page_t reclaim_pv_chunk(pmap_t locked_pmap, struct rwlock **lockp); [all …]
|
/freebsd/usr.sbin/nscd/ |
H A D | config.c | 439 pthread_rwlock_rdlock(&config->rwlock); in configuration_lock_rdlock() 447 pthread_rwlock_wrlock(&config->rwlock); in configuration_lock_wrlock() 455 pthread_rwlock_unlock(&config->rwlock); in configuration_unlock() 526 pthread_rwlock_init(&retval->rwlock, NULL); in init_configuration() 581 pthread_rwlock_destroy(&config->rwlock); in destroy_configuration()
|
/freebsd/lib/libc/nls/ |
H A D | msgcat.c | 66 ((ret = _pthread_rwlock_rdlock(&rwlock)) != 0)) { \ 72 ((ret = _pthread_rwlock_wrlock(&rwlock)) != 0)) { \ 77 _pthread_rwlock_unlock(&rwlock); } 105 static pthread_rwlock_t rwlock = PTHREAD_RWLOCK_INITIALIZER; variable
|
/freebsd/sys/arm64/arm64/ |
H A D | pmap.c | 193 struct rwlock pv_lock; 240 struct rwlock *_lock; \ 249 static struct rwlock * 259 struct rwlock **_lockp = (lockp); \ 260 struct rwlock *_new_lock = (new_lock); \ 277 struct rwlock **_lockp = (lockp); \ 459 static pv_entry_t get_pv_entry(pmap_t pmap, struct rwlock **lockp); 460 static vm_page_t reclaim_pv_chunk(pmap_t locked_pmap, struct rwlock **lockp); 471 pt_entry_t l3e, vm_page_t ml3, struct rwlock **lockp); 474 vm_offset_t va, struct rwlock **lockp); [all …]
|
/freebsd/share/man/man9/ |
H A D | Makefile | 312 rwlock.9 \ 1946 MLINKS+=rwlock.9 rw_assert.9 \ 1947 rwlock.9 rw_destroy.9 \ 1948 rwlock.9 rw_downgrade.9 \ 1949 rwlock.9 rw_init.9 \ 1950 rwlock.9 rw_init_flags.9 \ 1951 rwlock.9 rw_initialized.9 \ 1952 rwlock.9 rw_rlock.9 \ 1953 rwlock.9 rw_runlock.9 \ 1954 rwlock.9 rw_unlock.9 \ [all …]
|
/freebsd/sys/cddl/compat/opensolaris/sys/ |
H A D | freebsd_rwlock.h | 30 #include_next <sys/rwlock.h>
|
/freebsd/sys/contrib/openzfs/include/os/freebsd/spl/sys/ |
H A D | freebsd_rwlock.h | 32 #include_next <sys/rwlock.h>
|
/freebsd/sys/amd64/amd64/ |
H A D | pmap.c | 355 struct rwlock *_lock; \ 373 struct rwlock **_lockp = (lockp); \ 374 struct rwlock *_new_lock; \ 389 struct rwlock **_lockp = (lockp); \ 517 struct rwlock pv_lock; 526 static struct rwlock __exclusive_cache_line pv_list_locks[NPV_LIST_LOCKS]; 1268 static pv_entry_t get_pv_entry(pmap_t pmap, struct rwlock **lockp); 1270 static vm_page_t reclaim_pv_chunk(pmap_t locked_pmap, struct rwlock **lockp); 1272 struct rwlock **lockp); 1274 struct rwlock **lockp); [all …]
|
/freebsd/sys/dev/mem/ |
H A D | memutil.c | 37 static struct rwlock mr_lock;
|
/freebsd/sys/compat/linuxkpi/common/include/linux/ |
H A D | rwlock.h | 34 #include <sys/rwlock.h> 37 typedef struct rwlock rwlock_t;
|
/freebsd/sys/dev/cxgbe/ |
H A D | t4_smt.h | 58 struct rwlock lock;
|