| /linux-6.15/drivers/media/dvb-core/ |
| H A D | dvb_ringbuffer.c | 106 smp_store_release(&rbuf->pread, smp_load_acquire(&rbuf->pwrite)); in dvb_ringbuffer_flush() 116 smp_store_release(&rbuf->pread, 0); in dvb_ringbuffer_reset() 118 smp_store_release(&rbuf->pwrite, 0); in dvb_ringbuffer_reset() 148 smp_store_release(&rbuf->pread, 0); in dvb_ringbuffer_read_user() 154 smp_store_release(&rbuf->pread, (rbuf->pread + todo) % rbuf->size); in dvb_ringbuffer_read_user() 173 smp_store_release(&rbuf->pread, 0); in dvb_ringbuffer_read() 178 smp_store_release(&rbuf->pread, (rbuf->pread + todo) % rbuf->size); in dvb_ringbuffer_read() 198 smp_store_release(&rbuf->pwrite, 0); in dvb_ringbuffer_write() 202 smp_store_release(&rbuf->pwrite, (rbuf->pwrite + todo) % rbuf->size); in dvb_ringbuffer_write() 227 smp_store_release(&rbuf->pwrite, 0); in dvb_ringbuffer_write_user() [all …]
|
| /linux-6.15/Documentation/litmus-tests/locking/ |
| H A D | DCL-fixed.litmus | 7 * reliable given proper use of smp_load_acquire() and smp_store_release() 28 smp_store_release(flag, 1); 47 smp_store_release(flag, 1);
|
| /linux-6.15/include/asm-generic/ |
| H A D | barrier.h | 171 #ifndef smp_store_release 172 #define smp_store_release(p, v) do { kcsan_release(); __smp_store_release(p, v); } while (0) macro 193 #ifndef smp_store_release 194 #define smp_store_release(p, v) \ macro
|
| /linux-6.15/Documentation/translations/zh_CN/core-api/ |
| H A D | circular-buffers.rst | 154 smp_store_release(buffer->head, 191 smp_store_release(buffer->tail, 203 用smp_store_release()来写入线程的索引。这记录了我们正在写入可以并发读取的内容的事
|
| /linux-6.15/tools/memory-model/litmus-tests/ |
| H A D | MP+pooncerelease+poacquireonce.litmus | 6 * This litmus test demonstrates that smp_store_release() and 16 smp_store_release(flag, 1);
|
| H A D | WRC+pooncerelease+fencermbonceonce+Once.litmus | 9 * specifically, this litmus test is forbidden because smp_store_release() 25 smp_store_release(y, 1);
|
| H A D | ISA2+pooncerelease+poacquirerelease+poacquireonce.litmus | 19 smp_store_release(y, 1); 27 smp_store_release(z, 1);
|
| H A D | Z6.0+pooncerelease+poacquirerelease+fencembonceonce.litmus | 22 smp_store_release(y, 1); 30 smp_store_release(z, 1);
|
| /linux-6.15/tools/include/asm/ |
| H A D | barrier.h | 50 #ifndef smp_store_release 51 # define smp_store_release(p, v) \ macro
|
| /linux-6.15/drivers/infiniband/sw/rxe/ |
| H A D | rxe_queue.h | 197 smp_store_release(&q->buf->producer_index, prod); in queue_advance_producer() 204 smp_store_release(&q->buf->producer_index, prod); in queue_advance_producer() 226 smp_store_release(&q->buf->consumer_index, cons); in queue_advance_consumer() 245 smp_store_release(&q->buf->consumer_index, cons); in queue_advance_consumer()
|
| /linux-6.15/fs/netfs/ |
| H A D | rolling_buffer.c | 109 smp_store_release(&head->next, fq); in rolling_buffer_make_space() 148 smp_store_release(&roll->next_head_slot, to); in rolling_buffer_load_from_ra() 173 smp_store_release(&roll->next_head_slot, slot); in rolling_buffer_append()
|
| /linux-6.15/net/rxrpc/ |
| H A D | call_accept.c | 78 smp_store_release(&b->peer_backlog_head, in rxrpc_service_prealloc_one() 91 smp_store_release(&b->conn_backlog_head, in rxrpc_service_prealloc_one() 146 smp_store_release(&b->call_backlog_head, (call_head + 1) & (size - 1)); in rxrpc_service_prealloc_one() 279 smp_store_release(&b->peer_backlog_tail, in rxrpc_alloc_incoming_call() 289 smp_store_release(&b->conn_backlog_tail, in rxrpc_alloc_incoming_call() 303 smp_store_release(&b->call_backlog_tail, in rxrpc_alloc_incoming_call()
|
| /linux-6.15/include/net/ |
| H A D | inet_connection_sock.h | 204 smp_store_release(&icsk->icsk_pending, 0); in inet_csk_clear_xmit_timer() 209 smp_store_release(&icsk->icsk_ack.pending, 0); in inet_csk_clear_xmit_timer() 237 smp_store_release(&icsk->icsk_pending, what); in inet_csk_reset_xmit_timer() 240 smp_store_release(&icsk->icsk_ack.pending, in inet_csk_reset_xmit_timer()
|
| /linux-6.15/drivers/net/netdevsim/ |
| H A D | bus.c | 181 smp_store_release(&nsim_bus_dev->init, true); in new_device_store() 440 smp_store_release(&nsim_bus_dev->init, false); in nsim_bus_dev_new() 460 smp_store_release(&nsim_bus_dev->init, false); in nsim_bus_dev_del() 483 smp_store_release(&nsim_bus_enable, true); in nsim_bus_init() 496 smp_store_release(&nsim_bus_enable, false); in nsim_bus_exit()
|
| /linux-6.15/kernel/kcsan/ |
| H A D | selftest.c | 150 KCSAN_CHECK_READ_BARRIER(smp_store_release(&test_var, 0)); in test_barrier() 179 KCSAN_CHECK_WRITE_BARRIER(smp_store_release(&test_var, 0)); in test_barrier() 211 KCSAN_CHECK_RW_BARRIER(smp_store_release(&test_var, 0)); in test_barrier()
|
| /linux-6.15/arch/x86/kernel/acpi/ |
| H A D | madt_wakeup.c | 50 smp_store_release(&acpi_mp_wake_mailbox->command, in acpi_mp_cpu_die() 159 smp_store_release(&acpi_mp_wake_mailbox->command, in acpi_wakeup_cpu()
|
| /linux-6.15/arch/mips/include/asm/ |
| H A D | spinlock.h | 25 smp_store_release(&lock->locked, 0); in queued_spin_unlock()
|
| /linux-6.15/arch/arm/include/asm/ |
| H A D | mcs_spinlock.h | 19 smp_store_release(lock, 1); \
|
| /linux-6.15/scripts/atomic/fallbacks/ |
| H A D | set_release | 3 smp_store_release(&(v)->counter, i);
|
| /linux-6.15/tools/arch/s390/include/asm/ |
| H A D | barrier.h | 31 #define smp_store_release(p, v) \ macro
|
| /linux-6.15/tools/memory-model/Documentation/ |
| H A D | ordering.txt | 261 Release operations include smp_store_release(), atomic_set_release(), 266 For example, use of smp_store_release() saves a line compared to the 270 smp_store_release(&y, 1); 272 More important, smp_store_release() makes it easier to connect up the 274 by the smp_store_release(), in this case "y", will normally be used in 286 smp_store_release(), which still provides the needed ordering of "x" 295 smp_store_release(), but also atomic_set_release(), and 299 smp_store_release() except that: (1) It takes the pointer to 330 As with smp_store_release(), this also makes it easier to connect 357 smp_store_release(&y, 1); [all …]
|
| /linux-6.15/tools/arch/sparc/include/asm/ |
| H A D | barrier_64.h | 43 #define smp_store_release(p, v) \ macro
|
| /linux-6.15/tools/arch/powerpc/include/asm/ |
| H A D | barrier.h | 33 #define smp_store_release(p, v) \ macro
|
| /linux-6.15/tools/include/linux/ |
| H A D | ring_buffer.h | 71 smp_store_release(&base->data_tail, tail); in ring_buffer_write_tail()
|
| /linux-6.15/tools/arch/x86/include/asm/ |
| H A D | barrier.h | 33 #define smp_store_release(p, v) \ macro
|