Home
last modified time | relevance | path

Searched refs:rwlock (Results 1 – 25 of 85) sorted by relevance

1234

/freebsd/lib/libthr/thread/
H A Dthr_rwlock.c59 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 Dthr_umtx.h67 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 Dthr_umtx.c278 __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 DRWMutex.cpp46 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 Dvchi_bsd.h163 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 Dthreads_win.c44 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 Dtst.rw.d41 @[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 Dkern_rwlock.c66 #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 Dkern_umtx.c3091 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 Dib_cache.c116 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 Drwlock.h134 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.h44 struct rwlock { struct
/freebsd/sys/dev/wg/
H A Dwg_cookie.h31 struct rwlock cm_lock;
40 struct rwlock cc_key_lock;
/freebsd/sys/riscv/riscv/
H A Dpmap.c194 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 Dmmu_radix.c567 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 Dconfig.c439 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 Dmsgcat.c66 ((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 Dpmap.c193 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 DMakefile312 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 Dfreebsd_rwlock.h30 #include_next <sys/rwlock.h>
/freebsd/sys/contrib/openzfs/include/os/freebsd/spl/sys/
H A Dfreebsd_rwlock.h32 #include_next <sys/rwlock.h>
/freebsd/sys/amd64/amd64/
H A Dpmap.c355 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 Dmemutil.c37 static struct rwlock mr_lock;
/freebsd/sys/compat/linuxkpi/common/include/linux/
H A Drwlock.h34 #include <sys/rwlock.h>
37 typedef struct rwlock rwlock_t;
/freebsd/sys/dev/cxgbe/
H A Dt4_smt.h58 struct rwlock lock;

1234