Home
last modified time | relevance | path

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

1234

/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/include/linux/
H A Drwsem.h73 static inline int rwsem_is_locked(struct rw_semaphore *sem) in rwsem_is_locked() argument
75 return atomic_long_read(&sem->count) != RWSEM_UNLOCKED_VALUE; in rwsem_is_locked()
78 static inline void rwsem_assert_held_nolockdep(const struct rw_semaphore *sem) in rwsem_assert_held_nolockdep() argument
80 WARN_ON(atomic_long_read(&sem->count) == RWSEM_UNLOCKED_VALUE); in rwsem_assert_held_nolockdep()
83 static inline void rwsem_assert_held_write_nolockdep(const struct rw_semaphore *sem) in rwsem_assert_held_write_nolockdep() argument
85 WARN_ON(!(atomic_long_read(&sem->count) & RWSEM_WRITER_LOCKED)); in rwsem_assert_held_write_nolockdep()
114 extern void __init_rwsem(struct rw_semaphore *sem, const char *name,
117 #define init_rwsem(sem) \ argument
121 __init_rwsem((sem), #sem, &__key); \
130 static inline int rwsem_is_contended(struct rw_semaphore *sem) in rwsem_is_contended() argument
[all …]
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/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/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/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/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 Dfile.c120 mutex_lock(&f->sem); in jffs2_read_folio()
122 mutex_unlock(&f->sem); in jffs2_read_folio()
154 mutex_lock(&f->sem); in jffs2_write_begin()
181 mutex_unlock(&f->sem); in jffs2_write_begin()
196 mutex_unlock(&f->sem); in jffs2_write_begin()
201 mutex_unlock(&f->sem); in jffs2_write_begin()
224 mutex_lock(&f->sem); in jffs2_write_begin()
226 mutex_unlock(&f->sem); in jffs2_write_begin()
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/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/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/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/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/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/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/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/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/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()
/linux/drivers/net/ethernet/sfc/siena/
H A Defx.h206 static inline bool efx_rwsem_assert_write_locked(struct rw_semaphore *sem) in efx_rwsem_assert_write_locked() argument
208 if (WARN_ON(down_read_trylock(sem))) { in efx_rwsem_assert_write_locked()
209 up_read(sem); in efx_rwsem_assert_write_locked()
/linux/drivers/input/joystick/
H A Dturbografx.c66 struct mutex sem; member
107 scoped_guard(mutex_intr, &tgfx->sem) { in tgfx_open()
124 guard(mutex)(&tgfx->sem); in tgfx_close()
179 mutex_init(&tgfx->sem); in tgfx_attach()
/linux/include/soc/arc/
H A Dmcip.h66 msg:1, sem:1, ipi:1, slv:1, member
70 slv:1, ipi:1, sem:1, msg:1,

1234