Home
last modified time | relevance | path

Searched refs:smp_load_acquire (Results 1 – 25 of 169) sorted by relevance

1234567

/linux/Documentation/litmus-tests/locking/
H A DDCL-fixed.litmus7 * reliable given proper use of smp_load_acquire() and smp_store_release()
22 r0 = smp_load_acquire(flag);
41 r0 = smp_load_acquire(flag);
/linux/include/linux/
H A Dlwq.h51 return smp_load_acquire(&q->ready) == NULL && llist_empty(&q->new); in lwq_empty()
104 smp_load_acquire(&q->ready) == NULL; in lwq_enqueue()
122 smp_load_acquire(&q->ready) == NULL; in lwq_enqueue_batch()
/linux/kernel/bpf/
H A Dringbuf.c318 cons_pos = smp_load_acquire(&rb->consumer_pos); in ringbuf_avail_data_sz()
321 over_pos = smp_load_acquire(&rb->overwrite_pos); in ringbuf_avail_data_sz()
322 prod_pos = smp_load_acquire(&rb->producer_pos); in ringbuf_avail_data_sz()
325 prod_pos = smp_load_acquire(&rb->producer_pos); in ringbuf_avail_data_sz()
475 cons_pos = smp_load_acquire(&rb->consumer_pos); in __bpf_ringbuf_reserve()
578 cons_pos = smp_load_acquire(&rb->consumer_pos) & rb->mask; in bpf_ringbuf_commit()
652 return smp_load_acquire(&rb->consumer_pos); in BPF_CALL_2()
654 return smp_load_acquire(&rb->producer_pos); in BPF_CALL_2()
656 return smp_load_acquire(&rb->overwrite_pos); in BPF_CALL_2()
754 prod_pos = smp_load_acquire(&rb->producer_pos); in __bpf_user_ringbuf_peek()
[all …]
/linux/include/asm-generic/
H A Dbarrier.h175 #ifndef smp_load_acquire
176 #define smp_load_acquire(p) __smp_load_acquire(p) macro
201 #ifndef smp_load_acquire
202 #define smp_load_acquire(p) \ macro
/linux/Documentation/translations/zh_CN/core-api/
H A Dcircular-buffers.rst180 unsigned long head = smp_load_acquire(buffer->head);
200 请注意,使用READ_ONCE()和smp_load_acquire()来读取反向(head)索引。这可以防止编译
202 的。smp_load_acquire()还可以强制CPU对后续的内存引用进行排序。类似地,两种算法都使
/linux/tools/memory-model/litmus-tests/
H A DMP+pooncerelease+poacquireonce.litmus7 * smp_load_acquire() provide sufficient ordering for the message-passing
24 r0 = smp_load_acquire(flag);
H A DMP+polockonce+poacquiresilsil.litmus9 * the smp_load_acquire() executed before the lock was acquired (loosely
28 r1 = smp_load_acquire(x);
H A DMP+polockmbonce+poacquiresilsil.litmus9 * returns false and the second true, we know that the smp_load_acquire()
29 r1 = smp_load_acquire(x);
H A DISA2+pooncerelease+poacquirerelease+poacquireonce.litmus26 r0 = smp_load_acquire(y);
35 r0 = smp_load_acquire(z);
H A DS+fencewmbonceonce+poacquireonce.litmus23 r0 = smp_load_acquire(y);
/linux/tools/include/asm/
H A Dbarrier.h58 #ifndef smp_load_acquire
59 # define smp_load_acquire(p) \ macro
/linux/drivers/net/wireguard/
H A Dqueueing.c82 struct sk_buff *tail = queue->tail, *next = smp_load_acquire(&NEXT(tail)); in wg_prev_queue_dequeue()
89 next = smp_load_acquire(&NEXT(next)); in wg_prev_queue_dequeue()
99 next = smp_load_acquire(&NEXT(tail)); in wg_prev_queue_dequeue()
/linux/drivers/infiniband/sw/rxe/
H A Drxe_queue.h108 prod = smp_load_acquire(&q->buf->producer_index); in queue_get_producer()
120 prod = smp_load_acquire(&q->buf->producer_index); in queue_get_producer()
139 cons = smp_load_acquire(&q->buf->consumer_index); in queue_get_consumer()
143 cons = smp_load_acquire(&q->buf->consumer_index); in queue_get_consumer()
/linux/lib/
H A Dllist.c35 entry = smp_load_acquire(&head->first); in llist_del_first()
63 entry = smp_load_acquire(&head->first); in llist_del_first_this()
/linux/drivers/tty/
H A Dtty_buffer.c233 while ((next = smp_load_acquire(&buf->head->next)) != NULL) { in tty_buffer_flush()
410 next = smp_load_acquire(&head->next); in lookahead_bufs()
415 count = smp_load_acquire(&head->commit) - head->lookahead; in lookahead_bufs()
482 next = smp_load_acquire(&head->next); in flush_to_ldisc()
486 count = smp_load_acquire(&head->commit) - head->read; in flush_to_ldisc()
/linux/arch/arm/include/asm/
H A Dmcs_spinlock.h13 while (!(smp_load_acquire(lock))) \
/linux/drivers/net/netdevsim/
H A Dbus.c75 if (!smp_load_acquire(&nsim_bus_dev->init)) in new_port_store()
112 if (!smp_load_acquire(&nsim_bus_dev->init)) in del_port_store()
186 if (!smp_load_acquire(&nsim_bus_enable)) { in new_device_store()
236 if (!smp_load_acquire(&nsim_bus_enable)) { in del_device_store()
/linux/scripts/atomic/fallbacks/
H A Dread_acquire5 ret = smp_load_acquire(&(v)->counter);
/linux/tools/arch/s390/include/asm/
H A Dbarrier.h37 #define smp_load_acquire(p) \ macro
/linux/tools/arch/powerpc/include/asm/
H A Dbarrier.h39 #define smp_load_acquire(p) \ macro
/linux/tools/arch/sparc/include/asm/
H A Dbarrier_64.h49 #define smp_load_acquire(p) \ macro
/linux/tools/include/linux/
H A Dring_buffer.h59 return smp_load_acquire(&base->data_head); in ring_buffer_read_head()
/linux/tools/arch/x86/include/asm/
H A Dbarrier.h39 #define smp_load_acquire(p) \ macro
/linux/net/unix/
H A Dunix_bpf.c126 if (unlikely(ops != smp_load_acquire(&unix_dgram_prot_saved))) { in unix_dgram_bpf_check_needs_rebuild()
138 if (unlikely(ops != smp_load_acquire(&unix_stream_prot_saved))) { in unix_stream_bpf_check_needs_rebuild()
/linux/tools/arch/riscv/include/asm/
H A Dbarrier.h32 #define smp_load_acquire(p) \ macro

1234567