/kernel/liteos_a/kernel/base/ipc/ |
H A D | los_rwlock.c | 43 BOOL LOS_RwlockIsValid(const LosRwlock *rwlock)
in LOS_RwlockIsValid() argument 45 if ((rwlock != NULL) && ((rwlock->magic & RWLOCK_COUNT_MASK) == OS_RWLOCK_MAGIC)) {
in LOS_RwlockIsValid() 52 UINT32 LOS_RwlockInit(LosRwlock *rwlock)
in LOS_RwlockInit() argument 56 if (rwlock == NULL) {
in LOS_RwlockInit() 61 if ((rwlock->magic & RWLOCK_COUNT_MASK) == OS_RWLOCK_MAGIC) {
in LOS_RwlockInit() 66 rwlock->rwCount = 0;
in LOS_RwlockInit() 67 rwlock->writeOwner = NULL;
in LOS_RwlockInit() 68 LOS_ListInit(&(rwlock->readList));
in LOS_RwlockInit() 69 LOS_ListInit(&(rwlock in LOS_RwlockInit() 75 LOS_RwlockDestroy(LosRwlock *rwlock) LOS_RwlockDestroy() argument 99 OsRwlockCheck(const LosRwlock *rwlock) OsRwlockCheck() argument 130 OsRwlockRdPendOp(LosTaskCB *runTask, LosRwlock *rwlock, UINT32 timeout) OsRwlockRdPendOp() argument 174 OsRwlockWrPendOp(LosTaskCB *runTask, LosRwlock *rwlock, UINT32 timeout) OsRwlockWrPendOp() argument 215 OsRwlockRdUnsafe(LosRwlock *rwlock, UINT32 timeout) OsRwlockRdUnsafe() argument 224 OsRwlockTryRdUnsafe(LosRwlock *rwlock, UINT32 timeout) OsRwlockTryRdUnsafe() argument 253 OsRwlockWrUnsafe(LosRwlock *rwlock, UINT32 timeout) OsRwlockWrUnsafe() argument 262 OsRwlockTryWrUnsafe(LosRwlock *rwlock, UINT32 timeout) OsRwlockTryWrUnsafe() argument 282 LOS_RwlockRdLock(LosRwlock *rwlock, UINT32 timeout) LOS_RwlockRdLock() argument 297 LOS_RwlockTryRdLock(LosRwlock *rwlock) LOS_RwlockTryRdLock() argument 312 LOS_RwlockWrLock(LosRwlock *rwlock, UINT32 timeout) LOS_RwlockWrLock() argument 327 LOS_RwlockTryWrLock(LosRwlock *rwlock) LOS_RwlockTryWrLock() argument 363 OsRwlockPostOp(LosRwlock *rwlock, BOOL *needSched) OsRwlockPostOp() argument 409 OsRwlockUnlockUnsafe(LosRwlock *rwlock, BOOL *needSched) OsRwlockUnlockUnsafe() argument 441 LOS_RwlockUnLock(LosRwlock *rwlock) LOS_RwlockUnLock() argument [all...] |
/kernel/linux/linux-6.6/include/linux/ |
H A D | rwlock_rt.h | 10 extern void __rt_rwlock_init(rwlock_t *rwlock, const char *name, 13 static inline void __rt_rwlock_init(rwlock_t *rwlock, char *name, in __rt_rwlock_init() argument 27 extern void rt_read_lock(rwlock_t *rwlock); 28 extern int rt_read_trylock(rwlock_t *rwlock); 29 extern void rt_read_unlock(rwlock_t *rwlock); 30 extern void rt_write_lock(rwlock_t *rwlock); 31 extern void rt_write_lock_nested(rwlock_t *rwlock, int subclass); 32 extern int rt_write_trylock(rwlock_t *rwlock); 33 extern void rt_write_unlock(rwlock_t *rwlock); 35 static __always_inline void read_lock(rwlock_t *rwlock) in read_lock() argument 40 read_lock_bh(rwlock_t *rwlock) read_lock_bh() argument 46 read_lock_irq(rwlock_t *rwlock) read_lock_irq() argument 60 read_unlock(rwlock_t *rwlock) read_unlock() argument 65 read_unlock_bh(rwlock_t *rwlock) read_unlock_bh() argument 71 read_unlock_irq(rwlock_t *rwlock) read_unlock_irq() argument 76 read_unlock_irqrestore(rwlock_t *rwlock, unsigned long flags) read_unlock_irqrestore() argument 82 write_lock(rwlock_t *rwlock) write_lock() argument 88 write_lock_nested(rwlock_t *rwlock, int subclass) write_lock_nested() argument 96 write_lock_bh(rwlock_t *rwlock) write_lock_bh() argument 102 write_lock_irq(rwlock_t *rwlock) write_lock_irq() argument 126 write_unlock(rwlock_t *rwlock) write_unlock() argument 131 write_unlock_bh(rwlock_t *rwlock) write_unlock_bh() argument 137 write_unlock_irq(rwlock_t *rwlock) write_unlock_irq() argument 142 write_unlock_irqrestore(rwlock_t *rwlock, unsigned long flags) write_unlock_irqrestore() argument [all...] |
H A D | rwlock.h | 9 * rwlock related methods 39 # define do_raw_read_lock(rwlock) do {__acquire(lock); arch_read_lock(&(rwlock)->raw_lock); } while (0) 40 # define do_raw_read_trylock(rwlock) arch_read_trylock(&(rwlock)->raw_lock) 41 # define do_raw_read_unlock(rwlock) do {arch_read_unlock(&(rwlock)->raw_lock); __release(lock); } while (0) 42 # define do_raw_write_lock(rwlock) do {__acquire(lock); arch_write_lock(&(rwlock)->raw_lock); } while (0) 43 # define do_raw_write_trylock(rwlock) arch_write_tryloc [all...] |
H A D | seqlock.h | 166 * LOCKNAME: raw_spinlock, spinlock, rwlock or mutex 184 #define seqcount_rwlock_init(s, lock) seqcount_LOCKNAME_init(s, lock, rwlock) 276 SEQCOUNT_LOCKNAME(rwlock, rwlock_t, __SEQ_RT, s->lock, read, read_lock(s->lock)) 303 __seqprop_case((s), rwlock, prop), \
|
/kernel/linux/linux-5.10/tools/lib/lockdep/ |
H A D | preload.c | 64 /* pthread rwlock API */ 67 extern int __pthread_rwlock_init(pthread_rwlock_t *rwlock, const pthread_rwlockattr_t *attr); 68 extern int __pthread_rwlock_destroy(pthread_rwlock_t *rwlock); 69 extern int __pthread_rwlock_wrlock(pthread_rwlock_t *rwlock); 70 extern int __pthread_rwlock_trywrlock(pthread_rwlock_t *rwlock); 71 extern int __pthread_rwlock_rdlock(pthread_rwlock_t *rwlock); 72 extern int __pthread_rwlock_tryrdlock(pthread_rwlock_t *rwlock); 73 extern int __pthread_rwlock_unlock(pthread_rwlock_t *rwlock); 84 static int (*ll_pthread_rwlock_init)(pthread_rwlock_t *rwlock, 86 static int (*ll_pthread_rwlock_destroy)(pthread_rwlock_t *rwlock) 326 pthread_rwlock_init(pthread_rwlock_t *rwlock, const pthread_rwlockattr_t *attr) pthread_rwlock_init() argument 340 pthread_rwlock_destroy(pthread_rwlock_t *rwlock) pthread_rwlock_destroy() argument 349 pthread_rwlock_rdlock(pthread_rwlock_t *rwlock) pthread_rwlock_rdlock() argument 363 pthread_rwlock_tryrdlock(pthread_rwlock_t *rwlock) pthread_rwlock_tryrdlock() argument 377 pthread_rwlock_trywrlock(pthread_rwlock_t *rwlock) pthread_rwlock_trywrlock() argument 391 pthread_rwlock_wrlock(pthread_rwlock_t *rwlock) pthread_rwlock_wrlock() argument 405 pthread_rwlock_unlock(pthread_rwlock_t *rwlock) pthread_rwlock_unlock() argument [all...] |
/kernel/linux/linux-6.6/kernel/locking/ |
H A D | spinlock_rt.c | 192 * The common functions which get wrapped into the rwlock API. 194 int __sched rt_read_trylock(rwlock_t *rwlock) in rt_read_trylock() argument 198 ret = rwbase_read_trylock(&rwlock->rwbase); in rt_read_trylock() 200 rwlock_acquire_read(&rwlock->dep_map, 0, 1, _RET_IP_); in rt_read_trylock() 208 int __sched rt_write_trylock(rwlock_t *rwlock) in rt_write_trylock() argument 212 ret = rwbase_write_trylock(&rwlock->rwbase); in rt_write_trylock() 214 rwlock_acquire(&rwlock->dep_map, 0, 1, _RET_IP_); in rt_write_trylock() 222 void __sched rt_read_lock(rwlock_t *rwlock) in rt_read_lock() argument 225 rwlock_acquire_read(&rwlock->dep_map, 0, 0, _RET_IP_); in rt_read_lock() 226 rwbase_read_lock(&rwlock in rt_read_lock() 232 rt_write_lock(rwlock_t *rwlock) rt_write_lock() argument 243 rt_write_lock_nested(rwlock_t *rwlock, int subclass) rt_write_lock_nested() argument 254 rt_read_unlock(rwlock_t *rwlock) rt_read_unlock() argument 263 rt_write_unlock(rwlock_t *rwlock) rt_write_unlock() argument 273 __rt_rwlock_init(rwlock_t *rwlock, const char *name, struct lock_class_key *key) __rt_rwlock_init() argument [all...] |
H A D | spinlock.c | 9 * This file contains the spinlock/rwlock implementations for the 41 * rwlock : include/linux/rwlock_api_smp.h 129 BUILD_LOCK_OPS(read, rwlock); 130 BUILD_LOCK_OPS(write, rwlock);
|
/kernel/liteos_a/kernel/include/ |
H A D | los_rwlock.h | 54 INT32 rwCount : 8; /**< Times of locking the rwlock, rwCount > 0 when rwkick is read mode, rwCount < 0
55 when the rwlock is write mode, rwCount = 0 when the lock is free. */
56 VOID *writeOwner; /**< The current write thread that is locking the rwlock */
61 extern BOOL LOS_RwlockIsValid(const LosRwlock *rwlock);
65 * @brief Init a rwlock.
68 * This API is used to Init a rwlock. A rwlock handle is assigned to rwlockHandle when the rwlock is init successfully.
70 * @param rwlock [IN] Handle pointer of the successfully init rwlock [all...] |
/kernel/linux/linux-5.10/include/linux/ |
H A D | rwlock.h | 9 * rwlock related methods 50 # define do_raw_read_lock(rwlock) do {__acquire(lock); arch_read_lock(&(rwlock)->raw_lock); } while (0) 53 # define do_raw_read_trylock(rwlock) arch_read_trylock(&(rwlock)->raw_lock) 54 # define do_raw_read_unlock(rwlock) do {arch_read_unlock(&(rwlock)->raw_lock); __release(lock); } while (0) 55 # define do_raw_write_lock(rwlock) do {__acquire(lock); arch_write_lock(&(rwlock)->raw_lock); } while (0) 58 # define do_raw_write_trylock(rwlock) arch_write_tryloc [all...] |
H A D | seqlock.h | 167 * LOCKNAME: raw_spinlock, spinlock, rwlock, mutex, or ww_mutex. 185 #define seqcount_rwlock_init(s, lock) seqcount_LOCKNAME_init(s, lock, rwlock); 278 SEQCOUNT_LOCKNAME(rwlock, rwlock_t, __SEQ_RT, s->lock, read, read_lock(s->lock)) 306 __seqprop_case((s), rwlock, prop), \
|
/kernel/linux/linux-5.10/tools/lib/lockdep/include/liblockdep/ |
H A D | rwlock.h | 9 pthread_rwlock_t rwlock; member 17 .rwlock = PTHREAD_RWLOCK_INITIALIZER, \ 28 return pthread_rwlock_init(&lock->rwlock, attr); in __rwlock_init() 41 return pthread_rwlock_rdlock(&lock->rwlock); in liblockdep_pthread_rwlock_rdlock() 48 return pthread_rwlock_unlock(&lock->rwlock); in liblockdep_pthread_rwlock_unlock() 54 return pthread_rwlock_wrlock(&lock->rwlock); in liblockdep_pthread_rwlock_wrlock() 60 return pthread_rwlock_tryrdlock(&lock->rwlock) == 0 ? 1 : 0; in liblockdep_pthread_rwlock_tryrdlock() 66 return pthread_rwlock_trywrlock(&lock->rwlock) == 0 ? 1 : 0; in liblockdep_pthread_rwlock_trywrlock() 71 return pthread_rwlock_destroy(&lock->rwlock); in liblockdep_rwlock_destroy()
|
/kernel/liteos_a/kernel/base/include/ |
H A D | los_rwlock_pri.h | 54 extern UINT32 OsRwlockRdUnsafe(LosRwlock *rwlock, UINT32 timeout);
55 extern UINT32 OsRwlockTryRdUnsafe(LosRwlock *rwlock, UINT32 timeout);
56 extern UINT32 OsRwlockWrUnsafe(LosRwlock *rwlock, UINT32 timeout);
57 extern UINT32 OsRwlockTryWrUnsafe(LosRwlock *rwlock, UINT32 timeout);
58 extern UINT32 OsRwlockUnlockUnsafe(LosRwlock *rwlock, BOOL *needSched);
|
/kernel/linux/linux-5.10/drivers/infiniband/core/ |
H A D | cache.c | 112 * rwlock. Readers must hold only rwlock. All writers must be in a 116 /* rwlock protects data_vec[ix]->state and entry pointer. 118 rwlock_t rwlock; member 246 write_lock_irq(&table->rwlock); in free_gid_entry_locked() 257 write_unlock_irq(&table->rwlock); in free_gid_entry_locked() 331 write_lock_irq(&table->rwlock); in store_gid_entry() 333 write_unlock_irq(&table->rwlock); in store_gid_entry() 393 write_lock_irq(&table->rwlock); in del_gid() 401 write_unlock_irq(&table->rwlock); in del_gid() [all...] |
/kernel/linux/linux-6.6/drivers/infiniband/core/ |
H A D | cache.c | 112 * rwlock. Readers must hold only rwlock. All writers must be in a 116 /* rwlock protects data_vec[ix]->state and entry pointer. 118 rwlock_t rwlock; member 246 write_lock_irq(&table->rwlock); in free_gid_entry_locked() 257 write_unlock_irq(&table->rwlock); in free_gid_entry_locked() 331 write_lock_irq(&table->rwlock); in store_gid_entry() 333 write_unlock_irq(&table->rwlock); in store_gid_entry() 393 write_lock_irq(&table->rwlock); in del_gid() 401 write_unlock_irq(&table->rwlock); in del_gid() [all...] |
/kernel/linux/linux-5.10/arch/arc/include/asm/ |
H A D | spinlock.h | 94 "1: llock %[val], [%[rwlock]] \n" in arch_read_lock() 97 " scond %[val], [%[rwlock]] \n" in arch_read_lock() 101 : [rwlock] "r" (&(rw->counter)), in arch_read_lock() 114 "1: llock %[val], [%[rwlock]] \n" in arch_read_trylock() 117 " scond %[val], [%[rwlock]] \n" in arch_read_trylock() 125 : [rwlock] "r" (&(rw->counter)), in arch_read_trylock() 151 "1: llock %[val], [%[rwlock]] \n" in arch_write_lock() 154 " scond %[val], [%[rwlock]] \n" in arch_write_lock() 158 : [rwlock] "r" (&(rw->counter)), in arch_write_lock() 172 "1: llock %[val], [%[rwlock]] \ in arch_write_trylock() [all...] |
/kernel/linux/linux-6.6/arch/arc/include/asm/ |
H A D | spinlock.h | 94 "1: llock %[val], [%[rwlock]] \n" in arch_read_lock() 97 " scond %[val], [%[rwlock]] \n" in arch_read_lock() 101 : [rwlock] "r" (&(rw->counter)), in arch_read_lock() 114 "1: llock %[val], [%[rwlock]] \n" in arch_read_trylock() 117 " scond %[val], [%[rwlock]] \n" in arch_read_trylock() 125 : [rwlock] "r" (&(rw->counter)), in arch_read_trylock() 151 "1: llock %[val], [%[rwlock]] \n" in arch_write_lock() 154 " scond %[val], [%[rwlock]] \n" in arch_write_lock() 158 : [rwlock] "r" (&(rw->counter)), in arch_write_lock() 172 "1: llock %[val], [%[rwlock]] \ in arch_write_trylock() [all...] |
/kernel/liteos_a/testsuites/kernel/sample/kernel_base/ipc/ |
H A D | Makefile | 12 -I $(LITEOSTESTTOPDIR)/kernel/sample/kernel_base/ipc/rwlock 14 SRC_MODULES := sem event queue mux rwlock 17 SMP_MODULES := sem/smp event/smp queue/smp mux/smp rwlock/smp 29 SMOKE_MODULES := sem/smoke event/smoke queue/smoke mux/smoke rwlock/smoke
|
/kernel/linux/linux-5.10/tools/lib/lockdep/tests/ |
H A D | WW.c | 2 #include <liblockdep/rwlock.h>
|
/kernel/linux/linux-5.10/kernel/locking/ |
H A D | spinlock.c | 9 * This file contains the spinlock/rwlock implementations for the 41 * rwlock : include/linux/rwlock_api_smp.h 127 BUILD_LOCK_OPS(read, rwlock); 128 BUILD_LOCK_OPS(write, rwlock);
|
/kernel/linux/linux-5.10/kernel/trace/ |
H A D | trace_uprobe.c | 263 rwlock_init(&filter->rwlock); in init_trace_uprobe_filter() 1231 write_lock(&filter->rwlock); in trace_uprobe_filter_remove() 1241 write_unlock(&filter->rwlock); in trace_uprobe_filter_remove() 1252 write_lock(&filter->rwlock); in trace_uprobe_filter_add() 1270 write_unlock(&filter->rwlock); in trace_uprobe_filter_add() 1337 read_lock(&filter->rwlock); in uprobe_perf_filter() 1339 read_unlock(&filter->rwlock); in uprobe_perf_filter()
|
/kernel/linux/linux-6.6/kernel/trace/ |
H A D | trace_uprobe.c | 254 rwlock_init(&filter->rwlock); in init_trace_uprobe_filter() 1225 write_lock(&filter->rwlock); in trace_uprobe_filter_remove() 1235 write_unlock(&filter->rwlock); in trace_uprobe_filter_remove() 1246 write_lock(&filter->rwlock); in trace_uprobe_filter_add() 1264 write_unlock(&filter->rwlock); in trace_uprobe_filter_add() 1329 read_lock(&filter->rwlock); in uprobe_perf_filter() 1331 read_unlock(&filter->rwlock); in uprobe_perf_filter()
|
/kernel/liteos_a/testsuites/unittest/process/lock/spinlock/smoke/ |
H A D | pthread_spinlock_test_001.cpp | 133 pthread_rwlockattr_t rwlock; in Testcase() local
|
/kernel/liteos_a/testsuites/unittest/process/lock/rwlock/full/ |
H A D | pthread_rwlock_test_002.cpp | 226 pthread_rwlockattr_t rwlock; in PthreadRwlockTest() local
|
/kernel/liteos_a/testsuites/unittest/process/lock/rwlock/smoke/ |
H A D | pthread_rwlock_test_001.cpp | 226 pthread_rwlockattr_t rwlock; in Testcase() local
|
/kernel/linux/linux-5.10/drivers/accesstokenid/ |
H A D | access_tokenid.c | 15 #include <linux/rwlock.h>
|