| /Linux-v4.19/drivers/media/dvb-core/ |
| 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-v4.19/include/asm-generic/ |
| D | barrier.h | 156 #ifndef smp_store_release 157 #define smp_store_release(p, v) __smp_store_release(p, v) macro 178 #ifndef smp_store_release 179 #define smp_store_release(p, v) \ macro
|
| D | qspinlock.h | 101 smp_store_release(&lock->locked, 0); in queued_spin_unlock()
|
| D | qrwlock.h | 124 smp_store_release(&lock->wlocked, 0); in queued_write_unlock()
|
| /Linux-v4.19/drivers/lightnvm/ |
| D | pblk-rb.c | 150 smp_store_release(&w_ctx->flags, PBLK_WRITABLE_ENTRY); in clean_wctx() 197 smp_store_release(&rb->subm, in pblk_rb_read_commit() 322 smp_store_release(&entry->w_ctx.flags, flags); in pblk_rb_write_entry_user() 348 smp_store_release(&entry->w_ctx.flags, flags); in pblk_rb_write_entry_gc() 373 smp_store_release(&rb->flush_point, flush_point); in pblk_rb_flush_point_set() 410 smp_store_release(&rb->mem, (*pos + nr_entries) & (rb->nr_entries - 1)); in pblk_rb_may_write() 446 smp_store_release(&rb->mem, mem); in pblk_rb_may_write_flush() 554 smp_store_release(&entry->w_ctx.flags, flags); in pblk_rb_read_to_bio() 564 smp_store_release(&entry->w_ctx.flags, flags); in pblk_rb_read_to_bio() 572 smp_store_release(&entry->w_ctx.flags, flags); in pblk_rb_read_to_bio() [all …]
|
| D | pblk-rl.c | 72 smp_store_release(&rl->rb_user_active, 1); in pblk_rl_user_in() 201 smp_store_release(&rl->rb_user_active, 0); in pblk_rl_u_timer()
|
| /Linux-v4.19/tools/memory-model/litmus-tests/ |
| D | MP+pooncerelease+poacquireonce.litmus | 6 * This litmus test demonstrates that smp_store_release() and 16 smp_store_release(y, 1);
|
| D | WRC+pooncerelease+fencermbonceonce+Once.litmus | 9 * specifically, this litmus test is forbidden because smp_store_release() 25 smp_store_release(y, 1);
|
| D | ISA2+pooncerelease+poacquirerelease+poacquireonce.litmus | 19 smp_store_release(y, 1); 27 smp_store_release(z, 1);
|
| D | Z6.0+pooncerelease+poacquirerelease+fencembonceonce.litmus | 22 smp_store_release(y, 1); 30 smp_store_release(z, 1);
|
| D | LB+poacquireonce+pooncerelease.litmus | 18 smp_store_release(y, 1);
|
| D | MP+fencewmbonceonce+fencermbonceonce.litmus | 8 * is usually better to use smp_store_release() and smp_load_acquire().
|
| D | S+poonceonces.litmus | 7 * first store against P1()'s final load, if the smp_store_release()
|
| D | ISA2+poonceonces.litmus | 8 * smp_store_release() invocations are replaced by WRITE_ONCE() and all
|
| D | MP+polocks.litmus | 7 * stand in for smp_load_acquire() and smp_store_release(), respectively.
|
| D | MP+porevlocks.litmus | 7 * stand in for smp_load_acquire() and smp_store_release(), respectively.
|
| /Linux-v4.19/arch/riscv/include/asm/ |
| D | spinlock.h | 32 smp_store_release(&lock->lock, 0); in arch_spin_unlock() 140 smp_store_release(&lock->lock, 0); in arch_write_unlock()
|
| /Linux-v4.19/lib/ |
| D | stackdepot.c | 101 smp_store_release(&next_slab_inited, 1); in init_stack_slab() 130 smp_store_release(&next_slab_inited, 0); in depot_alloc_stack() 278 smp_store_release(bucket, new); in depot_save_stack()
|
| /Linux-v4.19/net/rxrpc/ |
| D | call_accept.c | 75 smp_store_release(&b->peer_backlog_head, in rxrpc_service_prealloc_one() 88 smp_store_release(&b->conn_backlog_head, in rxrpc_service_prealloc_one() 147 smp_store_release(&b->call_backlog_head, (call_head + 1) & (size - 1)); in rxrpc_service_prealloc_one() 286 smp_store_release(&b->peer_backlog_tail, in rxrpc_alloc_incoming_call() 296 smp_store_release(&b->conn_backlog_tail, in rxrpc_alloc_incoming_call() 309 smp_store_release(&b->call_backlog_tail, in rxrpc_alloc_incoming_call()
|
| /Linux-v4.19/arch/arm/include/asm/ |
| D | mcs_spinlock.h | 19 smp_store_release(lock, 1); \
|
| /Linux-v4.19/arch/x86/include/asm/ |
| D | qspinlock.h | 27 smp_store_release(&lock->locked, 0); in native_queued_spin_unlock()
|
| /Linux-v4.19/kernel/locking/ |
| D | mcs_spinlock.h | 45 smp_store_release((l), 1)
|
| D | percpu-rwsem.c | 178 smp_store_release(&sem->readers_block, 0); in percpu_up_write()
|
| /Linux-v4.19/tools/memory-model/Documentation/ |
| D | recipes.txt | 216 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);
|
| /Linux-v4.19/drivers/tty/ |
| D | tty_buffer.c | 275 smp_store_release(&b->commit, b->used); in __tty_buffer_request_room() 280 smp_store_release(&b->next, n); in __tty_buffer_request_room() 407 smp_store_release(&buf->tail->commit, buf->tail->used); in tty_schedule_flip()
|