/linux-6.6.21/Documentation/litmus-tests/locking/ |
D | DCL-fixed.litmus | 7 * 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/ |
D | barrier.h | 175 #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/ |
D | circular-buffers.rst | 180 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/ |
D | barrier.h | 56 #ifndef smp_load_acquire 57 # define smp_load_acquire(p) \ macro
|
/linux-6.6.21/tools/memory-model/litmus-tests/ |
D | MP+pooncerelease+poacquireonce.litmus | 7 * smp_load_acquire() provide sufficient ordering for the message-passing 24 r0 = smp_load_acquire(flag);
|
D | MP+polockonce+poacquiresilsil.litmus | 9 * the smp_load_acquire() executed before the lock was acquired (loosely 28 r1 = smp_load_acquire(x);
|
D | MP+polockmbonce+poacquiresilsil.litmus | 9 * returns false and the second true, we know that the smp_load_acquire() 29 r1 = smp_load_acquire(x);
|
D | ISA2+pooncerelease+poacquirerelease+poacquireonce.litmus | 26 r0 = smp_load_acquire(y); 35 r0 = smp_load_acquire(z);
|
/linux-6.6.21/kernel/bpf/ |
D | ringbuf.c | 300 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/ |
D | queueing.c | 82 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/ |
D | rxe_queue.h | 108 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/ |
D | freelist.h | 81 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/ |
D | bus.c | 69 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/ |
D | tty_buffer.c | 233 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/ |
D | ringbuf.c | 236 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/ |
D | mcs_spinlock.h | 13 while (!(smp_load_acquire(lock))) \
|
/linux-6.6.21/scripts/atomic/fallbacks/ |
D | read_acquire | 5 ret = smp_load_acquire(&(v)->counter);
|
/linux-6.6.21/tools/arch/ia64/include/asm/ |
D | barrier.h | 52 #define smp_load_acquire(p) \ macro
|
/linux-6.6.21/tools/arch/s390/include/asm/ |
D | barrier.h | 37 #define smp_load_acquire(p) \ macro
|
/linux-6.6.21/net/rxrpc/ |
D | txbuf.c | 108 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/ |
D | stackdepot.c | 230 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/ |
D | fscrypt_private.h | 367 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/ |
D | tasks.h | 327 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/ |
D | barrier.h | 39 #define smp_load_acquire(p) \ macro
|
/linux-6.6.21/tools/arch/sparc/include/asm/ |
D | barrier_64.h | 49 #define smp_load_acquire(p) \ macro
|