/linux-master/tools/include/linux/ |
H A D | rwsem.h | 11 static inline int init_rwsem(struct rw_semaphore *sem) argument 13 return pthread_rwlock_init(&sem->lock, NULL); 16 static inline int exit_rwsem(struct rw_semaphore *sem) argument 18 return pthread_rwlock_destroy(&sem->lock); 21 static inline int down_read(struct rw_semaphore *sem) argument 23 return pthread_rwlock_rdlock(&sem->lock); 26 static inline int up_read(struct rw_semaphore *sem) argument 28 return pthread_rwlock_unlock(&sem->lock); 31 static inline int down_write(struct rw_semaphore *sem) argument 33 return pthread_rwlock_wrlock(&sem 36 up_write(struct rw_semaphore *sem) argument [all...] |
/linux-master/tools/perf/util/ |
H A D | rwsem.c | 9 int init_rwsem(struct rw_semaphore *sem) argument 12 mutex_init(&sem->mtx); 15 return pthread_rwlock_init(&sem->lock, NULL); 19 int exit_rwsem(struct rw_semaphore *sem) argument 22 mutex_destroy(&sem->mtx); 25 return pthread_rwlock_destroy(&sem->lock); 29 int down_read(struct rw_semaphore *sem) argument 32 mutex_lock(&sem->mtx); 35 return perf_singlethreaded ? 0 : pthread_rwlock_rdlock(&sem->lock); 39 int up_read(struct rw_semaphore *sem) argument 49 down_write(struct rw_semaphore *sem) argument 59 up_write(struct rw_semaphore *sem) argument [all...] |
H A D | rwsem.h | 21 int init_rwsem(struct rw_semaphore *sem); 22 int exit_rwsem(struct rw_semaphore *sem); 24 int down_read(struct rw_semaphore *sem); 25 int up_read(struct rw_semaphore *sem); 27 int down_write(struct rw_semaphore *sem); 28 int up_write(struct rw_semaphore *sem);
|
/linux-master/kernel/locking/ |
H A D | percpu-rwsem.c | 14 int __percpu_init_rwsem(struct percpu_rw_semaphore *sem, argument 17 sem->read_count = alloc_percpu(int); 18 if (unlikely(!sem->read_count)) 21 rcu_sync_init(&sem->rss); 22 rcuwait_init(&sem->writer); 23 init_waitqueue_head(&sem->waiters); 24 atomic_set(&sem->block, 0); 26 debug_check_no_locks_freed((void *)sem, sizeof(*sem)); 27 lockdep_init_map(&sem 33 percpu_free_rwsem(struct percpu_rw_semaphore *sem) argument 48 __percpu_down_read_trylock(struct percpu_rw_semaphore *sem) argument 84 __percpu_down_write_trylock(struct percpu_rw_semaphore *sem) argument 92 __percpu_rwsem_trylock(struct percpu_rw_semaphore *sem, bool reader) argument 124 struct percpu_rw_semaphore *sem = key; local 141 percpu_rwsem_wait(struct percpu_rw_semaphore *sem, bool reader) argument 167 __percpu_down_read(struct percpu_rw_semaphore *sem, bool try) argument 195 percpu_is_read_locked(struct percpu_rw_semaphore *sem) argument 209 readers_active_check(struct percpu_rw_semaphore *sem) argument 224 percpu_down_write(struct percpu_rw_semaphore *sem) argument 259 percpu_up_write(struct percpu_rw_semaphore *sem) argument [all...] |
H A D | rwsem.c | 68 # define DEBUG_RWSEMS_WARN_ON(c, sem) do { \ 71 #c, atomic_long_read(&(sem)->count), \ 72 (unsigned long) sem->magic, \ 73 atomic_long_read(&(sem)->owner), (long)current, \ 74 list_empty(&(sem)->wait_list) ? "" : "not ")) \ 78 # define DEBUG_RWSEMS_WARN_ON(c, sem) 138 * preempt disable section as the atomic op that changes sem->count. 140 static inline void rwsem_set_owner(struct rw_semaphore *sem) argument 143 atomic_long_set(&sem->owner, (long)current); 146 static inline void rwsem_clear_owner(struct rw_semaphore *sem) argument 155 rwsem_test_oflags(struct rw_semaphore *sem, long flags) argument 170 __rwsem_set_reader_owned(struct rw_semaphore *sem, struct task_struct *owner) argument 179 rwsem_set_reader_owned(struct rw_semaphore *sem) argument 187 is_rwsem_reader_owned(struct rw_semaphore *sem) argument 208 rwsem_clear_reader_owned(struct rw_semaphore *sem) argument 219 rwsem_clear_reader_owned(struct rw_semaphore *sem) argument 228 rwsem_set_nonspinnable(struct rw_semaphore *sem) argument 241 rwsem_read_trylock(struct rw_semaphore *sem, long *cntp) argument 256 rwsem_write_trylock(struct rw_semaphore *sem) argument 271 rwsem_owner(struct rw_semaphore *sem) argument 282 rwsem_owner_flags(struct rw_semaphore *sem, unsigned long *pflags) argument 310 __init_rwsem(struct rw_semaphore *sem, const char *name, struct lock_class_key *key) argument 370 rwsem_add_waiter(struct rw_semaphore *sem, struct rwsem_waiter *waiter) argument 386 rwsem_del_waiter(struct rw_semaphore *sem, struct rwsem_waiter *waiter) argument 411 rwsem_mark_wake(struct rw_semaphore *sem, enum rwsem_wake_type wake_type, struct wake_q_head *wake_q) argument 604 rwsem_try_write_lock(struct rw_semaphore *sem, struct rwsem_waiter *waiter) argument 690 rwsem_try_write_lock_unqueued(struct rw_semaphore *sem) argument 705 rwsem_can_spin_on_owner(struct rw_semaphore *sem) argument 747 rwsem_spin_on_owner(struct rw_semaphore *sem) argument 806 rwsem_rspin_threshold(struct rw_semaphore *sem) argument 819 rwsem_optimistic_spin(struct rw_semaphore *sem) argument 941 clear_nonspinnable(struct rw_semaphore *sem) argument 948 rwsem_can_spin_on_owner(struct rw_semaphore *sem) argument 953 rwsem_optimistic_spin(struct rw_semaphore *sem) argument 958 clear_nonspinnable(struct rw_semaphore *sem) argument 961 rwsem_spin_on_owner(struct rw_semaphore *sem) argument 975 rwsem_cond_wake_waiter(struct rw_semaphore *sem, long count, struct wake_q_head *wake_q) argument 996 rwsem_down_read_slowpath(struct rw_semaphore *sem, long count, unsigned int state) argument 1107 rwsem_down_write_slowpath(struct rw_semaphore *sem, int state) argument 1203 rwsem_wake(struct rw_semaphore *sem) argument 1224 rwsem_downgrade_wake(struct rw_semaphore *sem) argument 1243 __down_read_common(struct rw_semaphore *sem, int state) argument 1261 __down_read(struct rw_semaphore *sem) argument 1266 __down_read_interruptible(struct rw_semaphore *sem) argument 1271 __down_read_killable(struct rw_semaphore *sem) argument 1276 __down_read_trylock(struct rw_semaphore *sem) argument 1300 __down_write_common(struct rw_semaphore *sem, int state) argument 1313 __down_write(struct rw_semaphore *sem) argument 1318 __down_write_killable(struct rw_semaphore *sem) argument 1323 __down_write_trylock(struct rw_semaphore *sem) argument 1338 __up_read(struct rw_semaphore *sem) argument 1360 __up_write(struct rw_semaphore *sem) argument 1383 __downgrade_write(struct rw_semaphore *sem) argument 1394 DEBUG_RWSEMS_WARN_ON(rwsem_owner(sem) != current, sem); local 1441 __init_rwsem(struct rw_semaphore *sem, const char *name, struct lock_class_key *key) argument 1453 __down_read(struct rw_semaphore *sem) argument 1458 __down_read_interruptible(struct rw_semaphore *sem) argument 1463 __down_read_killable(struct rw_semaphore *sem) argument 1468 __down_read_trylock(struct rw_semaphore *sem) argument 1473 __up_read(struct rw_semaphore *sem) argument 1478 __down_write(struct rw_semaphore *sem) argument 1483 __down_write_killable(struct rw_semaphore *sem) argument 1488 __down_write_trylock(struct rw_semaphore *sem) argument 1493 __up_write(struct rw_semaphore *sem) argument 1498 __downgrade_write(struct rw_semaphore *sem) argument 1506 __rwsem_set_reader_owned(struct rw_semaphore *sem, struct task_struct *owner) argument 1511 is_rwsem_reader_owned(struct rw_semaphore *sem) argument 1523 down_read(struct rw_semaphore *sem) argument 1532 down_read_interruptible(struct rw_semaphore *sem) argument 1546 down_read_killable(struct rw_semaphore *sem) argument 1563 down_read_trylock(struct rw_semaphore *sem) argument 1576 down_write(struct rw_semaphore *sem) argument 1587 down_write_killable(struct rw_semaphore *sem) argument 1605 down_write_trylock(struct rw_semaphore *sem) argument 1619 up_read(struct rw_semaphore *sem) argument 1629 up_write(struct rw_semaphore *sem) argument 1639 downgrade_write(struct rw_semaphore *sem) argument 1648 down_read_nested(struct rw_semaphore *sem, int subclass) argument 1656 down_read_killable_nested(struct rw_semaphore *sem, int subclass) argument 1670 _down_write_nest_lock(struct rw_semaphore *sem, struct lockdep_map *nest) argument 1678 down_read_non_owner(struct rw_semaphore *sem) argument 1692 down_write_nested(struct rw_semaphore *sem, int subclass) argument 1700 down_write_killable_nested(struct rw_semaphore *sem, int subclass) argument 1715 up_read_non_owner(struct rw_semaphore *sem) argument [all...] |
H A D | semaphore.c | 37 static noinline void __down(struct semaphore *sem); 38 static noinline int __down_interruptible(struct semaphore *sem); 39 static noinline int __down_killable(struct semaphore *sem); 40 static noinline int __down_timeout(struct semaphore *sem, long timeout); 41 static noinline void __up(struct semaphore *sem); 45 * @sem: the semaphore to be acquired 54 void __sched down(struct semaphore *sem) argument 59 raw_spin_lock_irqsave(&sem->lock, flags); 60 if (likely(sem->count > 0)) 61 sem 77 down_interruptible(struct semaphore *sem) argument 104 down_killable(struct semaphore *sem) argument 134 down_trylock(struct semaphore *sem) argument 159 down_timeout(struct semaphore *sem, long timeout) argument 183 up(struct semaphore *sem) argument 209 ___down_common(struct semaphore *sem, long state, long timeout) argument 240 __down_common(struct semaphore *sem, long state, long timeout) argument 252 __down(struct semaphore *sem) argument 257 __down_interruptible(struct semaphore *sem) argument 262 __down_killable(struct semaphore *sem) argument 267 __down_timeout(struct semaphore *sem, long timeout) argument 272 __up(struct semaphore *sem) argument [all...] |
/linux-master/drivers/tty/ |
H A D | tty_ldsem.c | 57 void __init_ldsem(struct ld_semaphore *sem, const char *name, argument 64 debug_check_no_locks_freed((void *)sem, sizeof(*sem)); 65 lockdep_init_map(&sem->dep_map, name, key, 0); 67 atomic_long_set(&sem->count, LDSEM_UNLOCKED); 68 sem->wait_readers = 0; 69 raw_spin_lock_init(&sem->wait_lock); 70 INIT_LIST_HEAD(&sem->read_wait); 71 INIT_LIST_HEAD(&sem->write_wait); 74 static void __ldsem_wake_readers(struct ld_semaphore *sem) argument 104 writer_trylock(struct ld_semaphore *sem) argument 119 __ldsem_wake_writer(struct ld_semaphore *sem) argument 135 __ldsem_wake(struct ld_semaphore *sem) argument 143 ldsem_wake(struct ld_semaphore *sem) argument 156 down_read_failed(struct ld_semaphore *sem, long count, long timeout) argument 230 down_write_failed(struct ld_semaphore *sem, long count, long timeout) argument 295 __ldsem_down_read_nested(struct ld_semaphore *sem, int subclass, long timeout) argument 314 __ldsem_down_write_nested(struct ld_semaphore *sem, int subclass, long timeout) argument 337 ldsem_down_read(struct ld_semaphore *sem, long timeout) argument 346 ldsem_down_read_trylock(struct ld_semaphore *sem) argument 363 ldsem_down_write(struct ld_semaphore *sem, long timeout) argument 372 ldsem_down_write_trylock(struct ld_semaphore *sem) argument 389 ldsem_up_read(struct ld_semaphore *sem) argument 403 ldsem_up_write(struct ld_semaphore *sem) argument 417 ldsem_down_read_nested(struct ld_semaphore *sem, int subclass, long timeout) argument 423 ldsem_down_write_nested(struct ld_semaphore *sem, int subclass, long timeout) argument [all...] |
/linux-master/include/linux/ |
H A D | percpu-rwsem.h | 47 static inline void percpu_down_read(struct percpu_rw_semaphore *sem) argument 51 rwsem_acquire_read(&sem->dep_map, 0, 0, _RET_IP_); 56 * cannot both change sem->state from readers_fast and start checking 57 * counters while we are here. So if we see !sem->state, we know that 62 if (likely(rcu_sync_is_idle(&sem->rss))) 63 this_cpu_inc(*sem->read_count); 65 __percpu_down_read(sem, false); /* Unconditional memory barrier */ 73 static inline bool percpu_down_read_trylock(struct percpu_rw_semaphore *sem) argument 81 if (likely(rcu_sync_is_idle(&sem->rss))) 82 this_cpu_inc(*sem 97 percpu_up_read(struct percpu_rw_semaphore *sem) argument 128 percpu_is_write_locked(struct percpu_rw_semaphore *sem) argument 147 percpu_rwsem_release(struct percpu_rw_semaphore *sem, bool read, unsigned long ip) argument 153 percpu_rwsem_acquire(struct percpu_rw_semaphore *sem, bool read, unsigned long ip) argument [all...] |
H A D | semaphore.h | 37 static inline void sema_init(struct semaphore *sem, int val) argument 40 *sem = (struct semaphore) __SEMAPHORE_INITIALIZER(*sem, val); 41 lockdep_init_map(&sem->lock.dep_map, "semaphore->lock", &__key, 0); 44 extern void down(struct semaphore *sem); 45 extern int __must_check down_interruptible(struct semaphore *sem); 46 extern int __must_check down_killable(struct semaphore *sem); 47 extern int __must_check down_trylock(struct semaphore *sem); 48 extern int __must_check down_timeout(struct semaphore *sem, long jiffies); 49 extern void up(struct semaphore *sem); [all...] |
H A D | rwsem.h | 73 static inline int rwsem_is_locked(struct rw_semaphore *sem) argument 75 return atomic_long_read(&sem->count) != RWSEM_UNLOCKED_VALUE; 78 static inline void rwsem_assert_held_nolockdep(const struct rw_semaphore *sem) argument 80 WARN_ON(atomic_long_read(&sem->count) == RWSEM_UNLOCKED_VALUE); 83 static inline void rwsem_assert_held_write_nolockdep(const struct rw_semaphore *sem) argument 85 WARN_ON(!(atomic_long_read(&sem->count) & RWSEM_WRITER_LOCKED)); 114 extern void __init_rwsem(struct rw_semaphore *sem, const char *name, 117 #define init_rwsem(sem) \ 121 __init_rwsem((sem), #sem, 130 rwsem_is_contended(struct rw_semaphore *sem) argument 165 rwsem_is_locked(const struct rw_semaphore *sem) argument 170 rwsem_assert_held_nolockdep(const struct rw_semaphore *sem) argument 175 rwsem_assert_held_write_nolockdep(const struct rw_semaphore *sem) argument 180 rwsem_is_contended(struct rw_semaphore *sem) argument 192 rwsem_assert_held(const struct rw_semaphore *sem) argument 200 rwsem_assert_held_write(const struct rw_semaphore *sem) argument [all...] |
H A D | tty_ldisc.h | 28 void __init_ldsem(struct ld_semaphore *sem, const char *name, 31 #define init_ldsem(sem) \ 35 __init_ldsem((sem), #sem, &__key); \ 39 int ldsem_down_read(struct ld_semaphore *sem, long timeout); 40 int ldsem_down_read_trylock(struct ld_semaphore *sem); 41 int ldsem_down_write(struct ld_semaphore *sem, long timeout); 42 int ldsem_down_write_trylock(struct ld_semaphore *sem); 43 void ldsem_up_read(struct ld_semaphore *sem); 44 void ldsem_up_write(struct ld_semaphore *sem); [all...] |
H A D | sem.h | 5 #include <uapi/linux/sem.h>
|
/linux-master/fs/jffs2/ |
H A D | jffs2_fs_i.h | 27 struct mutex sem; member in struct:jffs2_inode_info
|
H A D | dir.c | 97 mutex_lock(&dir_f->sem); 110 mutex_unlock(&dir_f->sem); 135 mutex_lock(&f->sem); 156 mutex_unlock(&f->sem); 200 no chance of AB-BA deadlock involving its f->sem). */ 201 mutex_unlock(&f->sem); 272 mutex_lock(&f->sem); 274 mutex_unlock(&f->sem); 350 mutex_unlock(&f->sem); 360 mutex_unlock(&f->sem); [all...] |
/linux-master/drivers/net/ethernet/mellanox/mlx5/core/lib/ |
H A D | devcom.c | 33 struct rw_semaphore sem; member in struct:mlx5_devcom_comp 122 init_rwsem(&comp->sem); 124 lockdep_set_class(&comp->sem, &comp->lock_key); 159 down_write(&comp->sem); 161 up_write(&comp->sem); 171 down_write(&comp->sem); 173 up_write(&comp->sem); 279 down_write(&comp->sem); 281 data = rcu_dereference_protected(pos->data, lockdep_is_held(&comp->sem)); 290 up_write(&comp->sem); [all...] |
/linux-master/ipc/ |
H A D | Makefile | 7 obj-$(CONFIG_SYSVIPC) += util.o msgutil.o msg.o sem.o shm.o syscall.o
|
/linux-master/tools/power/acpi/os_specific/service_layers/ |
H A D | osunixxf.c | 630 sem_t *sem; local 643 sem = 646 if (!sem) { 653 sem = acpi_os_allocate(sizeof(sem_t)); 654 if (!sem) { 658 if (sem_init(sem, 0, initial_units) == -1) { 659 acpi_os_free(sem); 664 *out_handle = (acpi_handle)sem; 682 sem_t *sem = (sem_t *) handle; local 684 if (!sem) { 718 sem_t *sem = (sem_t *) handle; local 835 sem_t *sem = (sem_t *) handle; local [all...] |
/linux-master/drivers/net/ethernet/mellanox/mlx4/ |
H A D | reset.c | 51 u32 sem; local 104 sem = readl(reset + MLX4_SEM_OFFSET); 105 if (!sem) 111 if (sem) {
|
/linux-master/security/keys/encrypted-keys/ |
H A D | masterkey_trusted.c | 37 down_read(&tkey->sem);
|
/linux-master/drivers/gpu/drm/radeon/ |
H A D | radeon_trace.h | 170 TP_PROTO(int ring, struct radeon_semaphore *sem), 172 TP_ARGS(ring, sem), 182 __entry->waiters = sem->waiters; 183 __entry->gpu_addr = sem->gpu_addr; 192 TP_PROTO(int ring, struct radeon_semaphore *sem), 194 TP_ARGS(ring, sem) 199 TP_PROTO(int ring, struct radeon_semaphore *sem), 201 TP_ARGS(ring, sem)
|
/linux-master/drivers/infiniband/core/ |
H A D | netlink.c | 50 struct rw_semaphore sem; member in struct:__anon121 99 up_read(&rdma_nl_types[type].sem); 103 down_read(&rdma_nl_types[type].sem); 125 down_write(&rdma_nl_types[index].sem); 127 up_write(&rdma_nl_types[index].sem); 164 down_read(&rdma_nl_types[index].sem); 197 up_read(&rdma_nl_types[index].sem); 296 init_rwsem(&rdma_nl_types[idx].sem);
|
/linux-master/tools/testing/selftests/kvm/ |
H A D | hardware_disable_test.c | 28 sem_t *sem; variable 117 sem_post(sem); 134 if (!sem_timedwait(sem, &wait_period)) 160 sem = sem_open("vm_sem", O_CREAT | O_EXCL, 0644, 0); 182 sem_destroy(sem);
|
/linux-master/drivers/media/usb/as102/ |
H A D | as102_drv.h | 64 struct mutex sem; member in struct:as102_dev_t
|
/linux-master/include/uapi/linux/ |
H A D | sem.h | 29 struct sem *sem_base; /* ptr to first semaphore in array */
|
/linux-master/drivers/staging/rtl8712/ |
H A D | rtl871x_event.h | 21 #include <linux/sem.h>
|