Home
last modified time | relevance | path

Searched refs:smp_store_release (Results 1 – 25 of 200) sorted by relevance

12345678

/linux/drivers/media/dvb-core/
H A Ddvb_ringbuffer.c106 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/Documentation/litmus-tests/locking/
H A DDCL-fixed.litmus7 * 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/include/asm-generic/
H A Dbarrier.h171 #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/Documentation/translations/zh_CN/core-api/
H A Dcircular-buffers.rst154 smp_store_release(buffer->head,
191 smp_store_release(buffer->tail,
203smp_store_release()来写入线程的索引。这记录了我们正在写入可以并发读取的内容的事
/linux/drivers/infiniband/sw/rxe/
H A Drxe_queue.h197 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/tools/memory-model/litmus-tests/
H A DMP+pooncerelease+poacquireonce.litmus6 * This litmus test demonstrates that smp_store_release() and
16 smp_store_release(flag, 1);
H A DWRC+pooncerelease+fencermbonceonce+Once.litmus9 * specifically, this litmus test is forbidden because smp_store_release()
25 smp_store_release(y, 1);
H A DISA2+pooncerelease+poacquirerelease+poacquireonce.litmus19 smp_store_release(y, 1);
27 smp_store_release(z, 1);
H A DZ6.0+pooncerelease+poacquirerelease+fencembonceonce.litmus22 smp_store_release(y, 1);
30 smp_store_release(z, 1);
/linux/tools/include/asm/
H A Dbarrier.h50 #ifndef smp_store_release
51 # define smp_store_release(p, v) \ macro
/linux/fs/afs/
H A Dcell.c202 smp_store_release(&cell->dns_lookup_count, 1); /* vs source/status */ in afs_alloc_cell()
480 smp_store_release(&cell->dns_lookup_count, in afs_update_cell()
742 smp_store_release(&cell->state, AFS_CELL_REMOVED); in afs_manage_cell()
751 smp_store_release(&cell->state, AFS_CELL_UNSET); in afs_manage_cell()
756 smp_store_release(&cell->state, AFS_CELL_ACTIVATING); in afs_manage_cell()
765 smp_store_release(&cell->state, AFS_CELL_ACTIVE); in afs_manage_cell()
778 smp_store_release(&cell->state, AFS_CELL_DEACTIVATING); in afs_manage_cell()
786 smp_store_release(&cell->state, AFS_CELL_INACTIVE); in afs_manage_cell()
803 smp_store_release(&cell->state, AFS_CELL_FAILED); /* vs error */ in afs_manage_cell()
808 smp_store_release(&cell->state, AFS_CELL_ACTIVE); in afs_manage_cell()
/linux/net/rxrpc/
H A Dcall_accept.c78 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/drivers/net/netdevsim/
H A Dbus.c181 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/kernel/kcsan/
H A Dselftest.c150 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/tools/memory-model/Documentation/
H A Dordering.txt261 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"
287 against "y". On x86, the version using smp_store_release() might compile
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
[all …]
H A Drecipes.txt216 Use of smp_store_release() and smp_load_acquire() is one way to force
223 smp_store_release(&y, 1);
232 The smp_store_release() macro orders any prior accesses against the
246 use of smp_store_release() and smp_load_acquire(), except that both
273 smp_store_release(), but the rcu_dereference() macro orders the load only
290 It is usually better to use smp_store_release() instead of smp_wmb()
416 smp_store_release(&y, 1);
422 smp_store_release(&z, 1);
445 smp_store_release(&y, 1);
451 smp_store_release(&z, 1);
H A Dlocking.txt115 One way to fix this is to use smp_load_acquire() and smp_store_release()
127 smp_store_release(&flag, 1);
137 problem. The smp_store_release() guarantees that its store will be
139 The smp_store_release() pairs with the smp_load_acquire(), thus ensuring
145 this case, via the smp_load_acquire() and the smp_store_release().
/linux/arch/mips/include/asm/
H A Dspinlock.h25 smp_store_release(&lock->locked, 0); in queued_spin_unlock()
/linux/arch/arm/include/asm/
H A Dmcs_spinlock.h19 smp_store_release(lock, 1); \
/linux/scripts/atomic/fallbacks/
H A Dset_release3 smp_store_release(&(v)->counter, i);
/linux/net/unix/
H A Dunix_bpf.c129 smp_store_release(&unix_dgram_prot_saved, ops); in unix_dgram_bpf_check_needs_rebuild()
141 smp_store_release(&unix_stream_prot_saved, ops); in unix_stream_bpf_check_needs_rebuild()
/linux/arch/x86/kernel/acpi/
H A Dmadt_wakeup.c50 smp_store_release(&acpi_mp_wake_mailbox->command, in acpi_mp_cpu_die()
202 smp_store_release(&acpi_mp_wake_mailbox->command, in acpi_wakeup_cpu()
/linux/tools/arch/s390/include/asm/
H A Dbarrier.h31 #define smp_store_release(p, v) \ macro
/linux/tools/arch/powerpc/include/asm/
H A Dbarrier.h33 #define smp_store_release(p, v) \ macro
/linux/tools/arch/sparc/include/asm/
H A Dbarrier_64.h43 #define smp_store_release(p, v) \ macro

12345678