Home
last modified time | relevance | path

Searched full:writer (Results 1 – 25 of 300) sorted by relevance

12345678910>>...12

/Linux-v6.1/Documentation/trace/
Dring-buffer-design.rst28 - the task that writes into the ring buffer (same as writer)
30 writer
81 but a writer may interrupt another writer, but it must finish writing
82 before the previous writer may continue. This is very important to the
94 This is very much like a writer being preempted by an interrupt and
99 cannot preempt/interrupt a writer, but it may read/consume from the
100 buffer at the same time as a writer is writing, but the reader must be
102 and can be preempted by a writer.
104 A writer can preempt a reader, but a reader cannot preempt a writer.
106 as a writer.
[all …]
/Linux-v6.1/kernel/locking/
Dpercpu-rwsem.c22 rcuwait_init(&sem->writer); in __percpu_init_rwsem()
57 * If the reader misses the writer's assignment of sem->block, then the in __percpu_down_read_trylock()
58 * writer is guaranteed to see the reader's increment. in __percpu_down_read_trylock()
61 * the writer looks are guaranteed to see the sem->block value, which in __percpu_down_read_trylock()
63 * their sem->read_count, so that it doesn't matter that the writer in __percpu_down_read_trylock()
78 /* Prod writer to re-evaluate readers_active_check() */ in __percpu_down_read_trylock()
79 rcuwait_wake_up(&sem->writer); in __percpu_down_read_trylock()
116 * Specifically, we wake readers until we've woken a single writer, or until a
138 return !reader; /* wake (readers until) 1 writer */ in percpu_rwsem_wake_function()
234 * Try set sem->block; this provides writer-writer exclusion. in percpu_down_write()
[all …]
Drwbase_rt.c4 * RT-specific reader/writer semaphores and reader/writer locks
26 * 2) Wake the writer waiting in down_write()/write_lock() #3
29 * locks on RT are not writer fair, but writers, which should be avoided in
33 * It's possible to make the rw primitives writer fair by keeping a list of
34 * active readers. A blocked writer would force all newly incoming readers
41 * The risk of writer starvation is there, but the pathological use cases
76 * Allow readers, as long as the writer has not completely in __rwbase_read_lock()
89 * Reader1 Reader2 Writer in __rwbase_read_lock()
97 * wake(Writer) in __rwbase_read_lock()
111 * That would put Reader1 behind the writer waiting on in __rwbase_read_lock()
[all …]
Drwsem.c7 * Writer lock-stealing by Alex Shi <alex.shi@intel.com>
41 * When the rwsem is reader-owned and a spinning writer has timed out,
44 * When a writer acquires a rwsem, it puts its task_struct pointer
59 * is previously owned by a writer and the following conditions are met:
60 * - rwsem is not currently writer owned
84 * Bit 0 - writer locked bit
93 * Bit 0 - writer locked bit
106 * atomic_long_cmpxchg() will be used to obtain writer lock.
113 * For all the above cases, wait_lock will be held. A writer must also
297 * by a writer.
[all …]
Dqrwlock.c29 * if the writer is just waiting (not holding the lock yet), in queued_read_lock_slowpath()
72 /* Put the writer into the wait queue */ in queued_write_lock_slowpath()
80 /* Set the waiting flag to notify readers that a writer is pending */ in queued_write_lock_slowpath()
/Linux-v6.1/include/linux/
Dpercpu-rwsem.h15 struct rcuwait writer; member
34 .writer = __RCUWAIT_INITIALIZER(name.writer), \
55 * We are in an RCU-sched read-side critical section, so the writer in percpu_down_read()
58 * the writer won't be checking until we're past the preempt_enable() in percpu_down_read()
59 * and that once the synchronize_rcu() is done, the writer will see in percpu_down_read()
110 * writer. in percpu_up_read()
119 rcuwait_wake_up(&sem->writer); in percpu_up_read()
Dkfifo.h31 * and one writer is using the fifo and no kfifo_reset() will be called.
34 * For multiple writer and one reader there is only a need to lock the writer.
35 * And vice versa for only one writer and multiple reader there is only a need
403 * writer, you don't need extra locking to use these macro.
440 * writer, you don't need extra locking to use these macro.
479 * writer, you don't need extra locking to use these macro.
517 * writer, you don't need extra locking to use these macro.
585 * writer, you don't need extra locking to use these macro.
660 * writer, you don't need extra locking to use these macro.
688 * writer, you don't need extra locking to use these macro.
[all …]
Dseqlock.h6 * seqcount_t / seqlock_t - a reader-writer consistency mechanism with
7 * lockless readers (read-only retry loops), and no writer starvation.
43 * This is the raw counting mechanism, without any writer protection.
52 * as the writer can invalidate a pointer that a reader is following.
58 * If it's desired to automatically handle the sequence counter writer
122 * A sequence counter which associates the lock used for writer
141 * reader preempting the writer, use a different technique: let the reader
142 * detect if a seqcount_LOCKNAME_t writer is in progress. If that is the
143 * case, acquire then release the associated LOCKNAME writer serialization
144 * lock. This will allow any possibly-preempted writer to make progress
[all …]
/Linux-v6.1/Documentation/locking/
Dseqlock.rst8 Sequence counters are a reader-writer consistency mechanism with
9 lockless readers (read-only retry loops), and no writer starvation. They
30 interrupted writer. If that reader belongs to a real-time scheduling
34 as the writer can invalidate a pointer that the reader is following.
53 requirements of writer serialization and non-preemptibility, use
97 sequence counters associate the lock used for writer serialization at
165 embedded spinlock for writer serialization and non-preemptibility.
195 1. Normal Sequence readers which never block a writer but they must
196 retry if a writer is in progress by detecting change in the sequence
206 2. Locking readers which will wait if a writer or another locking reader
[all …]
Dlocktypes.rst135 rw_semaphore is a multiple readers and single writer lock mechanism.
138 writer starvation.
150 Because an rw_semaphore writer cannot grant its priority to multiple
153 can grant their priority to a writer, a preempted low-priority writer will
155 writer from starving readers.
299 rwlock_t is a multiple readers and single writer lock mechanism.
303 thus preventing writer starvation.
313 - Because an rwlock_t writer cannot grant its priority to multiple
316 can grant their priority to a writer, a preempted low-priority writer
318 preventing that writer from starving readers.
/Linux-v6.1/kernel/trace/
Dtrace_recursion_record.c43 * If there's two writers and this writer comes in second, in ftrace_record_recursion()
45 * writer will try again. It is possible that index will now in ftrace_record_recursion()
46 * be greater than nr_records. This is because the writer in ftrace_record_recursion()
48 * This writer could keep trying again until the other writer in ftrace_record_recursion()
49 * updates nr_records. But if the other writer takes an in ftrace_record_recursion()
54 * writer will simply use the next position to update the in ftrace_record_recursion()
/Linux-v6.1/tools/perf/util/
Ddata-convert-bt.c14 #include <babeltrace/ctf-writer/writer.h>
15 #include <babeltrace/ctf-writer/clock.h>
16 #include <babeltrace/ctf-writer/stream.h>
17 #include <babeltrace/ctf-writer/event.h>
18 #include <babeltrace/ctf-writer/event-types.h>
19 #include <babeltrace/ctf-writer/event-fields.h>
59 /* writer primitives */
60 struct bt_ctf_writer *writer; member
88 struct ctf_writer writer; member
700 stream = bt_ctf_writer_create_stream(cw->writer, cw->stream_class); in ctf_stream__create()
[all …]
/Linux-v6.1/drivers/acpi/acpica/
Dutlock.c4 * Module Name: utlock - Reader/Writer lock interfaces
25 * DESCRIPTION: Reader/writer lock creation and deletion interfaces.
62 * DESCRIPTION: Reader interfaces for reader/writer locks. On acquisition,
122 * DESCRIPTION: Writer interfaces for reader/writer locks. Simply acquire or
123 * release the writer mutex associated with the lock. Acquisition
/Linux-v6.1/arch/arc/include/asm/
Dspinlock.h75 * Read-write spinlocks, allowing multiple readers but only one writer.
84 * zero means writer holds the lock exclusively, deny Reader. in arch_read_lock()
140 * deny writer. Otherwise if unlocked grant to writer in arch_write_lock()
290 * Read-write spinlocks, allowing multiple readers but only one writer.
307 * zero means writer holds the lock exclusively, deny Reader. in arch_read_trylock()
332 * deny writer. Otherwise if unlocked grant to writer in arch_write_trylock()
/Linux-v6.1/kernel/printk/
Dprintk_ringbuffer.h31 * Using prb_rec_init_wr(), a writer sets @text_buf_size before calling
33 * buffers reserved for that writer.
115 desc_reserved = 0x0, /* reserved, in use by writer */
116 desc_committed = 0x1, /* committed by writer, could get reopened */
118 desc_reusable = 0x3, /* free, not yet used by any writer */
154 * The first record reserved by a writer is assigned sequence number 0.
166 * writer (head + 1) to be the first descriptor in the array. (Only the first
200 * writer, which has the assigned sequence number 0.
244 /* this will be the first record reserved by a writer */ \
289 /* Writer Interface */
Dprintk_ringbuffer.c48 * A writer is modifying the record.
51 * The record and all its data are written. A writer can reopen the
57 * writer cannot reopen the descriptor.
86 * When a writer calls the commit function prb_commit(), record data is
87 * fully stored and is consistent within the ringbuffer. However, a writer can
89 * modify that record. When finished, the writer must again commit the record.
96 * 1) A writer can simultaneously commit and finalize its record by calling
114 * Each data block consists of an ID followed by the writer data. The ID is
127 * If the writer data of a data block would extend beyond the end of the
129 * position and the full data block (ID and writer data) is stored at the
[all …]
/Linux-v6.1/arch/parisc/include/asm/
Dspinlock.h44 * Read-write spinlocks, allowing multiple readers but only one writer.
61 * zero means writer holds the lock exclusively, deny Reader. in arch_read_trylock()
86 * deny writer. Otherwise if unlocked grant to writer in arch_write_trylock()
/Linux-v6.1/drivers/gpu/drm/amd/display/dc/
Ddm_pp_smu.h105 /* reader and writer WM's are sent together as part of one table*/
205 /* reader and writer WM's are sent together as part of one table*/
214 * writer fill clk = socclk
215 * writer drain clk = uclk
272 * reader and writer WM's are sent together as part of one table
290 * reader and writer WM's are sent together as part of one table
/Linux-v6.1/Documentation/devicetree/bindings/mmc/
Dlitex,mmc.yaml31 - description: DMA Writer buffer
40 - const: writer
74 reg-names = "phy", "core", "reader", "writer", "irq";
/Linux-v6.1/tools/testing/radix-tree/
Dregression4.c60 pthread_t reader, writer; in regression4_test() local
68 pthread_create(&writer, NULL, writer_fn, NULL)) { in regression4_test()
73 if (pthread_join(reader, NULL) || pthread_join(writer, NULL)) { in regression4_test()
/Linux-v6.1/include/asm-generic/
Dqrwlock.h25 * Writer states & reader shift and bias.
27 #define _QW_WAITING 0x100 /* A writer is waiting */
28 #define _QW_LOCKED 0x0ff /* A writer holds the lock */
29 #define _QW_WMASK 0x1ff /* Writer mask */
/Linux-v6.1/fs/btrfs/
Dlocking.c110 * - reader/writer exclusion
111 * - writer/writer exclusion
317 * DREW stands for double-reader-writer-exclusion lock. It's used in situation
321 * writer both race to acquire their respective sides of the lock the writer
388 * the last active writer finishes its jobs. in btrfs_drew_read_lock()
/Linux-v6.1/scripts/
Djobserver-exec27 reader, writer = [int(x) for x in fds.split(",", 1)] variable
44 os.write(writer, jobs)
64 os.write(writer, jobs)
/Linux-v6.1/tools/build/feature/
Dtest-libbabeltrace.c3 #include <babeltrace/ctf-writer/writer.h>
/Linux-v6.1/arch/sparc/include/asm/
Dspinlock_32.h54 * but only one writer.
58 * can "mix" irq-safe locks - any writer needs to get a
72 * wlock signifies the one writer is in or somebody is updating
73 * counter. For a writer, if he successfully acquires the wlock,

12345678910>>...12