Home
last modified time | relevance | path

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

1234567

/linux-6.6.21/Documentation/litmus-tests/locking/
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-6.6.21/include/asm-generic/
Dbarrier.h175 #ifndef smp_load_acquire
176 #define smp_load_acquire(p) __smp_load_acquire(p) macro
202 #ifndef smp_load_acquire
203 #define smp_load_acquire(p) \ macro
/linux-6.6.21/Documentation/translations/zh_CN/core-api/
Dcircular-buffers.rst180 unsigned long head = smp_load_acquire(buffer->head);
200 请注意,使用READ_ONCE()和smp_load_acquire()来读取反向(head)索引。这可以防止编译
202 的。smp_load_acquire()还可以强制CPU对后续的内存引用进行排序。类似地,两种算法都使
/linux-6.6.21/tools/include/asm/
Dbarrier.h56 #ifndef smp_load_acquire
57 # define smp_load_acquire(p) \ macro
/linux-6.6.21/tools/memory-model/litmus-tests/
DMP+pooncerelease+poacquireonce.litmus7 * smp_load_acquire() provide sufficient ordering for the message-passing
24 r0 = smp_load_acquire(flag);
DMP+polockonce+poacquiresilsil.litmus9 * the smp_load_acquire() executed before the lock was acquired (loosely
28 r1 = smp_load_acquire(x);
DMP+polockmbonce+poacquiresilsil.litmus9 * returns false and the second true, we know that the smp_load_acquire()
29 r1 = smp_load_acquire(x);
DISA2+pooncerelease+poacquirerelease+poacquireonce.litmus26 r0 = smp_load_acquire(y);
35 r0 = smp_load_acquire(z);
/linux-6.6.21/kernel/bpf/
Dringbuf.c300 cons_pos = smp_load_acquire(&rb->consumer_pos); in ringbuf_avail_data_sz()
301 prod_pos = smp_load_acquire(&rb->producer_pos); in ringbuf_avail_data_sz()
418 cons_pos = smp_load_acquire(&rb->consumer_pos); in __bpf_ringbuf_reserve()
490 cons_pos = smp_load_acquire(&rb->consumer_pos) & rb->mask; in bpf_ringbuf_commit()
564 return smp_load_acquire(&rb->consumer_pos); in BPF_CALL_2()
566 return smp_load_acquire(&rb->producer_pos); in BPF_CALL_2()
664 prod_pos = smp_load_acquire(&rb->producer_pos); in __bpf_user_ringbuf_peek()
669 cons_pos = smp_load_acquire(&rb->consumer_pos); in __bpf_user_ringbuf_peek()
675 hdr_len = smp_load_acquire(hdr); in __bpf_user_ringbuf_peek()
/linux-6.6.21/drivers/net/wireguard/
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-6.6.21/drivers/infiniband/sw/rxe/
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-6.6.21/include/linux/
Dfreelist.h81 struct freelist_node *prev, *next, *head = smp_load_acquire(&list->head); in freelist_try_get()
89 head = smp_load_acquire(&list->head); in freelist_try_get()
/linux-6.6.21/drivers/net/netdevsim/
Dbus.c69 if (!smp_load_acquire(&nsim_bus_dev->init)) in new_port_store()
90 if (!smp_load_acquire(&nsim_bus_dev->init)) in del_port_store()
162 if (!smp_load_acquire(&nsim_bus_enable)) { in new_device_store()
211 if (!smp_load_acquire(&nsim_bus_enable)) { in del_device_store()
/linux-6.6.21/drivers/tty/
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-6.6.21/tools/lib/bpf/
Dringbuf.c236 cons_pos = smp_load_acquire(r->consumer_pos); in ringbuf_process_ring()
239 prod_pos = smp_load_acquire(r->producer_pos); in ringbuf_process_ring()
242 len = smp_load_acquire(len_ptr); in ringbuf_process_ring()
496 cons_pos = smp_load_acquire(rb->consumer_pos); in user_ring_buffer__reserve()
498 prod_pos = smp_load_acquire(rb->producer_pos); in user_ring_buffer__reserve()
/linux-6.6.21/arch/arm/include/asm/
Dmcs_spinlock.h13 while (!(smp_load_acquire(lock))) \
/linux-6.6.21/scripts/atomic/fallbacks/
Dread_acquire5 ret = smp_load_acquire(&(v)->counter);
/linux-6.6.21/tools/arch/ia64/include/asm/
Dbarrier.h52 #define smp_load_acquire(p) \ macro
/linux-6.6.21/tools/arch/s390/include/asm/
Dbarrier.h37 #define smp_load_acquire(p) \ macro
/linux-6.6.21/net/rxrpc/
Dtxbuf.c108 rxrpc_seq_t hard_ack = smp_load_acquire(&call->acks_hard_ack); in rxrpc_shrink_call_tx_buffer()
115 hard_ack = smp_load_acquire(&call->acks_hard_ack); in rxrpc_shrink_call_tx_buffer()
/linux-6.6.21/lib/
Dstackdepot.c230 if (!smp_load_acquire(&next_pool_required)) in depot_init_pool()
390 found = find_stack(smp_load_acquire(bucket), entries, nr_entries, hash); in __stack_depot_save()
401 if (unlikely(can_alloc && smp_load_acquire(&next_pool_required))) { in __stack_depot_save()
/linux-6.6.21/fs/crypto/
Dfscrypt_private.h367 return smp_load_acquire(&prep_key->blk_key) != NULL; in fscrypt_is_key_prepared()
368 return smp_load_acquire(&prep_key->tfm) != NULL; in fscrypt_is_key_prepared()
403 return smp_load_acquire(&prep_key->tfm) != NULL; in fscrypt_is_key_prepared()
/linux-6.6.21/kernel/rcu/
Dtasks.h327 bool havekthread = smp_load_acquire(&rtp->kthread_ptr); in call_rcu_tasks_generic()
414 if (cpu >= smp_load_acquire(&rtp->percpu_dequeue_lim)) in rcu_barrier_tasks_generic()
442 for (cpu = 0; cpu < smp_load_acquire(&rtp->percpu_dequeue_lim); cpu++) { in rcu_tasks_need_gpcb()
521 if (cpunext < smp_load_acquire(&rtp->percpu_dequeue_lim)) { in rcu_tasks_invoke_cbs()
526 if (cpunext < smp_load_acquire(&rtp->percpu_dequeue_lim)) { in rcu_tasks_invoke_cbs()
1390 return smp_load_acquire(&t->trc_reader_special.b.need_qs); in rcu_ld_need_qs()
1431 trs = smp_load_acquire(&t->trc_reader_special); in rcu_read_unlock_trace_special()
1581 if (smp_load_acquire(&t->trc_ipi_to_cpu) != -1) // Order IPI in trc_wait_for_one_reader()
1800 if (smp_load_acquire(&t->trc_ipi_to_cpu) == -1 && in check_all_holdout_tasks_trace()
1833 if (WARN_ON_ONCE(smp_load_acquire(per_cpu_ptr(&trc_ipi_to_cpu, cpu)))) in rcu_tasks_trace_postgp()
/linux-6.6.21/tools/arch/powerpc/include/asm/
Dbarrier.h39 #define smp_load_acquire(p) \ macro
/linux-6.6.21/tools/arch/sparc/include/asm/
Dbarrier_64.h49 #define smp_load_acquire(p) \ macro

1234567