| /linux/kernel/locking/ |
| A D | rwsem.c | 315 debug_check_no_locks_freed((void *)sem, sizeof(*sem)); in __init_rwsem() 319 sem->magic = sem; in __init_rwsem() 1091 return sem; in rwsem_down_read_slowpath() 1186 return sem; in rwsem_down_write_slowpath() 1214 return sem; in rwsem_wake() 1235 return sem; in rwsem_downgrade_wake() 1279 DEBUG_RWSEMS_WARN_ON(sem->magic != sem, sem); in __down_read_trylock() 1326 DEBUG_RWSEMS_WARN_ON(sem->magic != sem, sem); in __down_write_trylock() 1340 DEBUG_RWSEMS_WARN_ON(sem->magic != sem, sem); in __up_read() 1362 DEBUG_RWSEMS_WARN_ON(sem->magic != sem, sem); in __up_write() [all …]
|
| A D | percpu-rwsem.c | 18 if (unlikely(!sem->read_count)) in __percpu_init_rwsem() 21 rcu_sync_init(&sem->rss); in __percpu_init_rwsem() 22 rcuwait_init(&sem->writer); in __percpu_init_rwsem() 24 atomic_set(&sem->block, 0); in __percpu_init_rwsem() 26 debug_check_no_locks_freed((void *)sem, sizeof(*sem)); in __percpu_init_rwsem() 39 if (!sem->read_count) in percpu_free_rwsem() 42 rcu_sync_dtor(&sem->rss); in percpu_free_rwsem() 43 free_percpu(sem->read_count); in percpu_free_rwsem() 197 return per_cpu_sum(*sem->read_count) != 0 && !atomic_read(&sem->block); in percpu_is_read_locked() 278 __wake_up(&sem->waiters, TASK_NORMAL, 1, sem); in percpu_up_write() [all …]
|
| A D | semaphore.c | 60 if (likely(sem->count > 0)) in down() 61 sem->count--; in down() 63 __down(sem); in down() 84 if (likely(sem->count > 0)) in down_interruptible() 85 sem->count--; in down_interruptible() 112 sem->count--; in down_killable() 140 count = sem->count - 1; in down_trylock() 142 sem->count = count; in down_trylock() 167 sem->count--; in down_timeout() 189 sem->count++; in up() [all …]
|
| /linux/drivers/tty/ |
| A D | tty_ldsem.c | 64 debug_check_no_locks_freed((void *)sem, sizeof(*sem)); in __init_ldsem() 68 sem->wait_readers = 0; in __init_ldsem() 148 __ldsem_wake(sem); in ldsem_wake() 176 return sem; in down_read_failed() 181 sem->wait_readers++; in down_read_failed() 188 __ldsem_wake(sem); in down_read_failed() 223 return sem; in down_read_failed() 249 return sem; in down_write_failed() 290 return sem; in down_write_failed() 397 ldsem_wake(sem); in ldsem_up_read() [all …]
|
| /linux/include/linux/ |
| A D | rwsem.h | 117 #define init_rwsem(sem) \ argument 121 __init_rwsem((sem), #sem, &__key); \ 162 __init_rwsem((sem), #sem, &__key); \ 195 lockdep_assert_held(sem); in rwsem_assert_held() 288 # define down_read_nested(sem, subclass) down_read(sem) argument 289 # define down_read_killable_nested(sem, subclass) down_read_killable(sem) argument 290 # define down_write_nest_lock(sem, nest_lock) down_write(sem) argument 291 # define down_write_nested(sem, subclass) down_write(sem) argument 292 # define down_write_killable_nested(sem, subclass) down_write_killable(sem) argument 293 # define down_read_non_owner(sem) down_read(sem) argument [all …]
|
| A D | percpu-rwsem.h | 63 this_cpu_inc(*sem->read_count); in percpu_down_read() 82 this_cpu_inc(*sem->read_count); in percpu_down_read_trylock() 106 this_cpu_dec(*sem->read_count); in percpu_up_read() 118 this_cpu_dec(*sem->read_count); in percpu_up_read() 119 rcuwait_wake_up(&sem->writer); in percpu_up_read() 130 return atomic_read(&sem->block); in percpu_is_write_locked() 138 #define percpu_init_rwsem(sem) \ argument 141 __percpu_init_rwsem(sem, #sem, &rwsem_key); \ 144 #define percpu_rwsem_is_held(sem) lockdep_is_held(sem) argument 145 #define percpu_rwsem_assert_held(sem) lockdep_assert_held(sem) argument [all …]
|
| A D | tty_ldisc.h | 28 void __init_ldsem(struct ld_semaphore *sem, const char *name, 31 #define init_ldsem(sem) \ argument 35 __init_ldsem((sem), #sem, &__key); \ 40 int ldsem_down_read_trylock(struct ld_semaphore *sem); 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); 52 # define ldsem_down_read_nested(sem, subclass, timeout) \ argument 53 ldsem_down_read(sem, timeout) 54 # define ldsem_down_write_nested(sem, subclass, timeout) \ argument [all …]
|
| A D | semaphore.h | 37 static inline void sema_init(struct semaphore *sem, int val) in sema_init() argument 40 *sem = (struct semaphore) __SEMAPHORE_INITIALIZER(*sem, val); in sema_init() 41 lockdep_init_map(&sem->lock.dep_map, "semaphore->lock", &__key, 0); in sema_init() 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);
|
| /linux/tools/perf/util/ |
| A D | rwsem.c | 9 int init_rwsem(struct rw_semaphore *sem) in init_rwsem() argument 12 mutex_init(&sem->mtx); in init_rwsem() 19 int exit_rwsem(struct rw_semaphore *sem) in exit_rwsem() argument 22 mutex_destroy(&sem->mtx); in exit_rwsem() 29 int down_read(struct rw_semaphore *sem) in down_read() argument 32 mutex_lock(&sem->mtx); in down_read() 39 int up_read(struct rw_semaphore *sem) in up_read() argument 42 mutex_unlock(&sem->mtx); in up_read() 52 mutex_lock(&sem->mtx); in down_write() 59 int up_write(struct rw_semaphore *sem) in up_write() argument [all …]
|
| 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/tools/include/linux/ |
| A D | rwsem.h | 11 static inline int init_rwsem(struct rw_semaphore *sem) in init_rwsem() argument 13 return pthread_rwlock_init(&sem->lock, NULL); in init_rwsem() 16 static inline int exit_rwsem(struct rw_semaphore *sem) in exit_rwsem() argument 18 return pthread_rwlock_destroy(&sem->lock); in exit_rwsem() 23 return pthread_rwlock_rdlock(&sem->lock); in down_read() 26 static inline int up_read(struct rw_semaphore *sem) in up_read() argument 28 return pthread_rwlock_unlock(&sem->lock); in up_read() 33 return pthread_rwlock_wrlock(&sem->lock); in down_write() 38 return pthread_rwlock_unlock(&sem->lock); in up_write() 41 #define down_read_nested(sem, subclass) down_read(sem) argument [all …]
|
| /linux/drivers/misc/ |
| A D | ntsync.c | 48 } sem; member 66 if (check_add_overflow(sem->u.sem.count, count, &sum) || in post_sem_state() 67 sum > sem->u.sem.max) in post_sem_state() 70 sem->u.sem.count = sum; in post_sem_state() 87 spin_lock(&sem->lock); in ntsync_sem_post() 89 prev_count = sem->u.sem.count; in ntsync_sem_post() 92 spin_unlock(&sem->lock); in ntsync_sem_post() 180 if (!sem) in ntsync_create_sem() 182 sem->u.sem.count = args.count; in ntsync_create_sem() 183 sem->u.sem.max = args.max; in ntsync_create_sem() [all …]
|
| /linux/drivers/net/ethernet/mellanox/mlx5/core/lib/ |
| A D | devcom.c | 33 struct rw_semaphore sem; member 122 init_rwsem(&comp->sem); in mlx5_devcom_comp_alloc() 159 down_write(&comp->sem); in devcom_alloc_comp_dev() 161 up_write(&comp->sem); in devcom_alloc_comp_dev() 171 down_write(&comp->sem); in devcom_free_comp_dev() 173 up_write(&comp->sem); in devcom_free_comp_dev() 279 down_write(&comp->sem); in mlx5_devcom_send_event() 290 up_write(&comp->sem); in mlx5_devcom_send_event() 304 up_write(&comp->sem); in mlx5_devcom_send_event() 331 down_read(&comp->sem); in mlx5_devcom_for_each_peer_begin() [all …]
|
| /linux/tools/power/acpi/os_specific/service_layers/ |
| A D | osunixxf.c | 630 sem_t *sem; in acpi_os_create_semaphore() local 643 sem = in acpi_os_create_semaphore() 646 if (!sem) { in acpi_os_create_semaphore() 654 if (!sem) { in acpi_os_create_semaphore() 659 acpi_os_free(sem); in acpi_os_create_semaphore() 684 if (!sem) { in acpi_os_delete_semaphore() 688 if (sem_close(sem) == -1) { in acpi_os_delete_semaphore() 692 if (sem_destroy(sem) == -1) { in acpi_os_delete_semaphore() 724 if (!sem) { in acpi_os_wait_semaphore() 837 if (!sem) { in acpi_os_signal_semaphore() [all …]
|
| /linux/fs/jffs2/ |
| A D | dir.c | 97 mutex_lock(&dir_f->sem); in jffs2_lookup() 135 mutex_lock(&f->sem); in jffs2_readdir() 156 mutex_unlock(&f->sem); in jffs2_readdir() 201 mutex_unlock(&f->sem); in jffs2_create() 272 mutex_lock(&f->sem); in jffs2_link() 274 mutex_unlock(&f->sem); in jffs2_link() 374 mutex_unlock(&f->sem); in jffs2_symlink() 519 mutex_unlock(&f->sem); in jffs2_mkdir() 603 mutex_lock(&f->sem); in jffs2_rmdir() 610 mutex_unlock(&f->sem); in jffs2_rmdir() [all …]
|
| A D | write.c | 145 mutex_unlock(&f->sem); in jffs2_write_dnode() 150 mutex_lock(&f->sem); in jffs2_write_dnode() 302 mutex_lock(&f->sem); in jffs2_write_dirent() 368 mutex_lock(&f->sem); in jffs2_write_inode_range() 397 mutex_unlock(&f->sem); in jffs2_write_inode_range() 420 mutex_unlock(&f->sem); in jffs2_write_inode_range() 424 mutex_unlock(&f->sem); in jffs2_write_inode_range() 460 mutex_lock(&f->sem); in jffs2_do_create() 473 mutex_unlock(&f->sem); in jffs2_do_create() 482 mutex_unlock(&f->sem); in jffs2_do_create() [all …]
|
| A D | file.c | 118 mutex_lock(&f->sem); in jffs2_read_folio() 120 mutex_unlock(&f->sem); in jffs2_read_folio() 151 mutex_lock(&f->sem); in jffs2_write_begin() 178 mutex_unlock(&f->sem); in jffs2_write_begin() 193 mutex_unlock(&f->sem); in jffs2_write_begin() 198 mutex_unlock(&f->sem); in jffs2_write_begin() 221 mutex_lock(&f->sem); in jffs2_write_begin() 223 mutex_unlock(&f->sem); in jffs2_write_begin()
|
| /linux/drivers/gpu/drm/gma500/ |
| A D | mmu.c | 89 down_write(&driver->sem); 91 up_write(&driver->sem); 101 down_write(&driver->sem); in psb_mmu_flush() 118 up_write(&driver->sem); in psb_mmu_flush() 238 down_write(&driver->sem); in psb_mmu_free_pagedir() 258 up_write(&driver->sem); in psb_mmu_free_pagedir() 403 down_read(&driver->sem); in psb_mmu_get_default_pd() 405 up_read(&driver->sem); in psb_mmu_get_default_pd() 440 init_rwsem(&driver->sem); in psb_mmu_driver_init() 441 down_write(&driver->sem); in psb_mmu_driver_init() [all …]
|
| /linux/drivers/gpu/drm/radeon/ |
| 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/drivers/infiniband/core/ |
| A D | netlink.c | 50 struct rw_semaphore sem; member 99 up_read(&rdma_nl_types[type].sem); in get_cb_table() 103 down_read(&rdma_nl_types[type].sem); in get_cb_table() 125 down_write(&rdma_nl_types[index].sem); in rdma_nl_unregister() 127 up_write(&rdma_nl_types[index].sem); in rdma_nl_unregister() 164 down_read(&rdma_nl_types[index].sem); in rdma_nl_rcv_msg() 197 up_read(&rdma_nl_types[index].sem); in rdma_nl_rcv_msg() 296 init_rwsem(&rdma_nl_types[idx].sem); in rdma_nl_init()
|
| /linux/tools/testing/selftests/kvm/ |
| A D | hardware_disable_test.c | 25 sem_t *sem; variable 114 sem_post(sem); in run_test() 131 if (!sem_timedwait(sem, &wait_period)) in wait_for_child_setup() 157 sem = sem_open("vm_sem", O_CREAT | O_EXCL, 0644, 0); in main() 179 sem_destroy(sem); in main()
|
| /linux/drivers/net/ethernet/mellanox/mlx4/ |
| A D | reset.c | 51 u32 sem; in mlx4_reset() local 104 sem = readl(reset + MLX4_SEM_OFFSET); in mlx4_reset() 105 if (!sem) in mlx4_reset() 111 if (sem) { in mlx4_reset()
|
| /linux/arch/x86/platform/intel/ |
| A D | iosf_mbi.c | 247 static int iosf_mbi_get_sem(u32 *sem) in iosf_mbi_get_sem() argument 252 iosf_mbi_sem_address, sem); in iosf_mbi_get_sem() 258 *sem &= PUNIT_SEMAPHORE_BIT; in iosf_mbi_get_sem() 316 u32 sem; in iosf_mbi_block_punit_i2c_access() local 355 ret = iosf_mbi_get_sem(&sem); in iosf_mbi_block_punit_i2c_access() 356 if (!ret && sem) { in iosf_mbi_block_punit_i2c_access() 370 if (!iosf_mbi_get_sem(&sem)) in iosf_mbi_block_punit_i2c_access() 371 dev_err(&mbi_pdev->dev, "P-Unit semaphore: %d\n", sem); in iosf_mbi_block_punit_i2c_access()
|
| /linux/security/keys/ |
| A D | keyring.c | 1059 down_write(&keyring->sem); in keyring_restrict() 1072 up_write(&keyring->sem); in keyring_restrict() 1241 __acquires(&keyring->sem) in __key_link_lock() 1388 __releases(&keyring->sem) in __key_link_end() 1401 up_write(&keyring->sem); in __key_link_end() 1475 __acquires(&keyring->sem) in __key_unlink_lock() 1524 __releases(&keyring->sem) in __key_unlink_end() 1528 up_write(&keyring->sem); in __key_unlink_end() 1671 up_write(&keyring->sem); in keyring_clear() 1745 up_write(&keyring->sem); in keyring_gc() [all …]
|
| /linux/ipc/ |
| A D | sem.c | 95 struct sem { struct 126 struct sem sems[]; argument 296 struct sem *curr; in unmerge_queues() 317 struct sem *sem = &sma->sems[i]; in merge_queues() local 339 struct sem *sem; in complexmode_enter() local 392 struct sem *sem; in sem_lock() local 467 struct sem *sem = &sma->sems[locknum]; in sem_unlock() local 651 struct sem *curr; in perform_atomic_semop_slow() 723 struct sem *curr; in perform_atomic_semop() 1173 struct sem *sem = &sma->sems[i]; in freeary() local [all …]
|