Home
last modified time | relevance | path

Searched refs:sem (Results 1 – 25 of 111) sorted by relevance

12345

/linux/kernel/locking/
H A Drwsem.c69 # define DEBUG_RWSEMS_WARN_ON(c, sem) do { \ argument
72 #c, atomic_long_read(&(sem)->count), \
73 (unsigned long) sem->magic, \
74 atomic_long_read(&(sem)->owner), (long)current, \
75 list_empty(&(sem)->wait_list) ? "" : "not ")) \
79 # define DEBUG_RWSEMS_WARN_ON(c, sem) argument
141 static inline void rwsem_set_owner(struct rw_semaphore *sem) in rwsem_set_owner() argument
144 atomic_long_set(&sem->owner, (long)current); in rwsem_set_owner()
147 static inline void rwsem_clear_owner(struct rw_semaphore *sem) in rwsem_clear_owner() argument
150 atomic_long_set(&sem->owner, 0); in rwsem_clear_owner()
[all …]
H A Dsemaphore.c39 static noinline void __down(struct semaphore *sem);
40 static noinline int __down_interruptible(struct semaphore *sem);
41 static noinline int __down_killable(struct semaphore *sem);
42 static noinline int __down_timeout(struct semaphore *sem, long timeout);
43 static noinline void __up(struct semaphore *sem, struct wake_q_head *wake_q);
46 static inline void hung_task_sem_set_holder(struct semaphore *sem) in hung_task_sem_set_holder() argument
48 WRITE_ONCE((sem)->last_holder, (unsigned long)current); in hung_task_sem_set_holder()
51 static inline void hung_task_sem_clear_if_holder(struct semaphore *sem) in hung_task_sem_clear_if_holder() argument
53 if (READ_ONCE((sem)->last_holder) == (unsigned long)current) in hung_task_sem_clear_if_holder()
54 WRITE_ONCE((sem)->last_holder, 0UL); in hung_task_sem_clear_if_holder()
[all …]
/linux/tools/perf/util/
H A Drwsem.c9 int init_rwsem(struct rw_semaphore *sem) in init_rwsem() argument
12 mutex_init(&sem->mtx); in init_rwsem()
15 return pthread_rwlock_init(&sem->lock, NULL); in init_rwsem()
19 int exit_rwsem(struct rw_semaphore *sem) in exit_rwsem() argument
22 mutex_destroy(&sem->mtx); in exit_rwsem()
25 return pthread_rwlock_destroy(&sem->lock); in exit_rwsem()
29 int down_read(struct rw_semaphore *sem) in down_read() argument
33 mutex_lock(&sem->mtx); in down_read()
36 return perf_singlethreaded ? 0 : pthread_rwlock_rdlock(&sem->lock); in down_read()
40 int up_read(struct rw_semaphore *sem) in up_read() argument
[all …]
H A Drwsem.h21 int init_rwsem(struct rw_semaphore *sem);
22 int exit_rwsem(struct rw_semaphore *sem);
24 int down_read(struct rw_semaphore *sem) SHARED_LOCK_FUNCTION(sem);
25 int up_read(struct rw_semaphore *sem) UNLOCK_FUNCTION(sem);
27 int down_write(struct rw_semaphore *sem) EXCLUSIVE_LOCK_FUNCTION(sem);
28 int up_write(struct rw_semaphore *sem) UNLOCK_FUNCTION(sem);
/linux/tools/include/linux/
H A Drwsem.h11 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()
21 static inline int down_read(struct rw_semaphore *sem) in down_read() argument
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()
31 static inline int down_write(struct rw_semaphore *sem) in down_write() argument
33 return pthread_rwlock_wrlock(&sem->lock); in down_write()
[all …]
/linux/include/linux/
H A Dsemaphore.h49 static inline void sema_init(struct semaphore *sem, int val) in sema_init() argument
52 *sem = (struct semaphore) __SEMAPHORE_INITIALIZER(*sem, val); in sema_init()
53 lockdep_init_map(&sem->lock.dep_map, "semaphore->lock", &__key, 0); in sema_init()
56 extern void down(struct semaphore *sem);
57 extern int __must_check down_interruptible(struct semaphore *sem);
58 extern int __must_check down_killable(struct semaphore *sem);
59 extern int __must_check down_trylock(struct semaphore *sem);
60 extern int __must_check down_timeout(struct semaphore *sem, long jiffies);
61 extern void up(struct semaphore *sem);
62 extern unsigned long sem_last_holder(struct semaphore *sem);
/linux/drivers/net/ethernet/mellanox/mlx5/core/lib/
H A Ddevcom.c40 struct rw_semaphore sem; member
133 init_rwsem(&comp->sem); in mlx5_devcom_comp_alloc()
135 lockdep_set_class(&comp->sem, &comp->lock_key); in mlx5_devcom_comp_alloc()
170 down_write(&comp->sem); in devcom_alloc_comp_dev()
172 up_write(&comp->sem); in devcom_alloc_comp_dev()
182 down_write(&comp->sem); in devcom_free_comp_dev()
184 up_write(&comp->sem); in devcom_free_comp_dev()
302 down_write(&comp->sem); in mlx5_devcom_send_event()
304 data = rcu_dereference_protected(pos->data, lockdep_is_held(&comp->sem)); in mlx5_devcom_send_event()
313 up_write(&comp->sem); in mlx5_devcom_send_event()
[all …]
/linux/drivers/misc/
H A Dntsync.c59 } sem; member
236 return !!obj->u.sem.count; in is_signaled()
284 obj->u.sem.count--; in try_wake_all()
319 static void try_wake_any_sem(struct ntsync_obj *sem) in try_wake_any_sem() argument
323 ntsync_assert_held(sem); in try_wake_any_sem()
324 lockdep_assert(sem->type == NTSYNC_TYPE_SEM); in try_wake_any_sem()
326 list_for_each_entry(entry, &sem->any_waiters, node) { in try_wake_any_sem()
330 if (!sem->u.sem.count) in try_wake_any_sem()
334 sem->u.sem.count--; in try_wake_any_sem()
393 static int release_sem_state(struct ntsync_obj *sem, __u32 count) in release_sem_state() argument
[all …]
/linux/tools/power/acpi/os_specific/service_layers/
H A Dosunixxf.c630 sem_t *sem; in acpi_os_create_semaphore() local
643 sem = in acpi_os_create_semaphore()
646 if (!sem) { in acpi_os_create_semaphore()
653 sem = acpi_os_allocate(sizeof(sem_t)); in acpi_os_create_semaphore()
654 if (!sem) { in acpi_os_create_semaphore()
658 if (sem_init(sem, 0, initial_units) == -1) { in acpi_os_create_semaphore()
659 acpi_os_free(sem); in acpi_os_create_semaphore()
664 *out_handle = (acpi_handle)sem; in acpi_os_create_semaphore()
682 sem_t *sem = (sem_t *) handle; in acpi_os_delete_semaphore() local
684 if (!sem) { in acpi_os_delete_semaphore()
[all …]
/linux/fs/jffs2/
H A Dwrite.c145 mutex_unlock(&f->sem); in jffs2_write_dnode()
150 mutex_lock(&f->sem); in jffs2_write_dnode()
297 mutex_unlock(&f->sem); in jffs2_write_dirent()
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()
[all …]
H A Dfs.c60 mutex_lock(&f->sem); in jffs2_do_setattr()
64 mutex_unlock(&f->sem); in jffs2_do_setattr()
69 mutex_unlock(&f->sem); in jffs2_do_setattr()
73 mutex_unlock(&f->sem); in jffs2_do_setattr()
93 mutex_lock(&f->sem); in jffs2_do_setattr()
146 mutex_unlock(&f->sem); in jffs2_do_setattr()
177 mutex_unlock(&f->sem); in jffs2_do_setattr()
275 mutex_lock(&f->sem); in jffs2_iget()
358 mutex_unlock(&f->sem); in jffs2_iget()
367 mutex_unlock(&f->sem); in jffs2_iget()
[all …]
/linux/drivers/gpu/drm/gma500/
H A Dmmu.c89 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()
128 down_write(&pd->driver->sem); in psb_mmu_set_pd_context()
133 up_write(&pd->driver->sem); in psb_mmu_set_pd_context()
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()
[all …]
/linux/drivers/gpu/drm/radeon/
H A Dradeon_trace.h170 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/tools/testing/selftests/drivers/ntsync/
H A Dntsync.c17 static int read_sem_state(int sem, __u32 *count, __u32 *max) in read_sem_state() argument
23 ret = ioctl(sem, NTSYNC_IOC_SEM_READ, &args); in read_sem_state()
29 #define check_sem_state(sem, count, max) \ argument
32 int ret = read_sem_state((sem), &__count, &__max); \
38 static int release_sem(int sem, __u32 *count) in release_sem() argument
40 return ioctl(sem, NTSYNC_IOC_SEM_RELEASE, count); in release_sem()
146 int fd, ret, sem; in TEST() local
155 sem = ioctl(fd, NTSYNC_IOC_CREATE_SEM, &sem_args); in TEST()
156 EXPECT_EQ(-1, sem); in TEST()
161 sem = ioctl(fd, NTSYNC_IOC_CREATE_SEM, &sem_args); in TEST()
[all …]
/linux/drivers/infiniband/core/
H A Dnetlink.c50 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/security/keys/
H A Dkeyring.c1059 down_write(&keyring->sem); in keyring_restrict()
1072 up_write(&keyring->sem); in keyring_restrict()
1241 __acquires(&keyring->sem) in __key_link_lock()
1247 down_write(&keyring->sem); in __key_link_lock()
1263 __acquires(&l_keyring->sem) in __key_move_lock()
1264 __acquires(&u_keyring->sem) in __key_move_lock()
1276 down_write(&l_keyring->sem); in __key_move_lock()
1277 down_write_nested(&u_keyring->sem, 1); in __key_move_lock()
1279 down_write(&u_keyring->sem); in __key_move_lock()
1280 down_write_nested(&l_keyring->sem, 1); in __key_move_lock()
[all …]
H A Dkey.c289 init_rwsem(&key->sem); in key_alloc()
290 lockdep_set_class(&key->sem, &type->lock_class); in key_alloc()
741 down_write(&key->sem); in key_set_timeout()
747 up_write(&key->sem); in key_set_timeout()
780 down_write(&key->sem); in __key_update()
789 up_write(&key->sem); in __key_update()
1104 down_write(&key->sem); in key_update()
1113 up_write(&key->sem); in key_update()
1142 down_write_nested(&key->sem, 1); in key_revoke()
1156 up_write(&key->sem); in key_revoke()
[all …]
/linux/ipc/
H A Dsem.c95 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
319 list_splice_init(&sem->pending_alter, &sma->pending_alter); in merge_queues()
339 struct sem *sem; in complexmode_enter() local
353 sem = &sma->sems[i]; in complexmode_enter()
354 spin_lock(&sem->lock); in complexmode_enter()
355 spin_unlock(&sem->lock); in complexmode_enter()
392 struct sem *sem; in sem_lock() local
[all …]
/linux/arch/x86/platform/intel/
H A Diosf_mbi.c247 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/drivers/net/ethernet/mellanox/mlx4/
H A Dreset.c51 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/fs/fuse/
H A Ddax.c64 struct rw_semaphore sem; member
472 down_write(&fi->dax->sem); in fuse_setup_new_dax_mapping()
482 up_write(&fi->dax->sem); in fuse_setup_new_dax_mapping()
491 up_write(&fi->dax->sem); in fuse_setup_new_dax_mapping()
495 up_write(&fi->dax->sem); in fuse_setup_new_dax_mapping()
513 down_write(&fi->dax->sem); in fuse_upgrade_dax_mapping()
554 up_write(&fi->dax->sem); in fuse_upgrade_dax_mapping()
588 down_read(&fi->dax->sem); in fuse_iomap_begin()
603 up_read(&fi->dax->sem); in fuse_iomap_begin()
610 up_read(&fi->dax->sem); in fuse_iomap_begin()
[all …]
/linux/tools/testing/selftests/memfd/
H A Dmemfd_test.c1353 int sem = semget(SEM_KEY, 1, 0600); in sysctl_nested_wait() local
1356 if (sem < 0) { in sysctl_nested_wait()
1364 if (semop(sem, &sembuf, 1) < 0) { in sysctl_nested_wait()
1389 int pid, sem; in sysctl_nested_child() local
1425 sem = semget(SEM_KEY, 1, IPC_CREAT | 0600); in sysctl_nested_child()
1426 if (sem < 0) { in sysctl_nested_child()
1439 if (semctl(sem, 0, SETVAL, semun) < 0) { in sysctl_nested_child()
1449 if (semop(sem, &sembuf, 1) < 0) { in sysctl_nested_child()
1458 if (semctl(sem, 0, SETVAL, semun) < 0) { in sysctl_nested_child()
1468 if (semop(sem, &sembuf, 1) < 0) { in sysctl_nested_child()
[all …]
/linux/kernel/
H A Dtaskstats.c55 struct rw_semaphore sem; member
121 down_read(&listeners->sem); in send_cpu_listeners()
138 up_read(&listeners->sem); in send_cpu_listeners()
147 down_write(&listeners->sem); in send_cpu_listeners()
154 up_write(&listeners->sem); in send_cpu_listeners()
323 down_write(&listeners->sem); in add_del_listener()
331 up_write(&listeners->sem); in add_del_listener()
341 down_write(&listeners->sem); in add_del_listener()
349 up_write(&listeners->sem); in add_del_listener()
696 init_rwsem(&(per_cpu(listener_array, i).sem)); in taskstats_init_early()
/linux/drivers/acpi/
H A Dosl.c1228 struct semaphore *sem = NULL; in acpi_os_create_semaphore() local
1230 sem = acpi_os_allocate_zeroed(sizeof(struct semaphore)); in acpi_os_create_semaphore()
1231 if (!sem) in acpi_os_create_semaphore()
1234 sema_init(sem, initial_units); in acpi_os_create_semaphore()
1236 *handle = (acpi_handle *) sem; in acpi_os_create_semaphore()
1253 struct semaphore *sem = (struct semaphore *)handle; in acpi_os_delete_semaphore() local
1255 if (!sem) in acpi_os_delete_semaphore()
1260 BUG_ON(!list_empty(&sem->wait_list)); in acpi_os_delete_semaphore()
1261 kfree(sem); in acpi_os_delete_semaphore()
1262 sem = NULL; in acpi_os_delete_semaphore()
[all …]
/linux/drivers/media/usb/as102/
H A Das102_drv.c139 if (mutex_lock_interruptible(&as102_dev->sem)) in as102_dvb_dmx_start_feed()
149 mutex_unlock(&as102_dev->sem); in as102_dvb_dmx_start_feed()
158 if (mutex_lock_interruptible(&as102_dev->sem)) in as102_dvb_dmx_stop_feed()
168 mutex_unlock(&as102_dev->sem); in as102_dvb_dmx_stop_feed()
348 mutex_init(&as102_dev->sem); in as102_dvb_register()

12345