Home
last modified time | relevance | path

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

12345678910>>...14

/linux-6.14.4/drivers/md/dm-vdo/indexer/
Dio-factory.c43 * The buffered writer allows efficient I/O by buffering writes and committing page-sized segments
273 /* Create a buffered writer for an index region starting at offset. */
279 struct buffered_writer *writer; in uds_make_buffered_writer() local
285 result = vdo_allocate(1, struct buffered_writer, "buffered writer", &writer); in uds_make_buffered_writer()
291 *writer = (struct buffered_writer) { in uds_make_buffered_writer()
303 *writer_ptr = writer; in uds_make_buffered_writer()
307 static size_t get_remaining_write_space(struct buffered_writer *writer) in get_remaining_write_space() argument
309 return writer->start + UDS_BLOCK_SIZE - writer->end; in get_remaining_write_space()
312 static int __must_check prepare_next_buffer(struct buffered_writer *writer) in prepare_next_buffer() argument
317 if (writer->block_number >= writer->limit) { in prepare_next_buffer()
[all …]
Dindex.c27 * chapter writer, and sparse cache barrier messages for the sparse cache.
29 * The chapter writer is responsible for committing chapters of records to storage. Since zones can
31 * its available space in a chapter, it informs the chapter writer that the chapter is complete,
34 * Once every zone has closed the chapter, the chapter writer will commit that chapter to storage.
66 /* The number of bytes allocated by the chapter writer */
182 struct chapter_writer *writer = index->chapter_writer; in finish_previous_chapter() local
184 mutex_lock(&writer->mutex); in finish_previous_chapter()
186 uds_wait_cond(&writer->cond, &writer->mutex); in finish_previous_chapter()
187 result = writer->result; in finish_previous_chapter()
188 mutex_unlock(&writer->mutex); in finish_previous_chapter()
[all …]
Dindex-layout.c516 struct buffered_writer *writer) in write_index_save_header() argument
540 result = uds_write_to_buffered_writer(writer, buffer, offset); in write_index_save_header()
545 return uds_flush_buffered_writer(writer); in write_index_save_header()
553 struct buffered_writer *writer; in write_index_save_layout() local
559 result = open_region_writer(layout, &isl->header, &writer); in write_index_save_layout()
565 result = write_index_save_header(isl, table, writer); in write_index_save_layout()
567 uds_free_buffered_writer(writer); in write_index_save_layout()
686 struct buffered_writer *writer) in write_layout_header() argument
715 result = uds_write_to_buffered_writer(writer, buffer, offset); in write_layout_header()
720 return uds_flush_buffered_writer(writer); in write_layout_header()
[all …]
Dio-factory.h13 * clients are the index layout and the volume. The buffered reader and buffered writer interfaces
59 int __must_check uds_write_to_buffered_writer(struct buffered_writer *writer,
62 int __must_check uds_flush_buffered_writer(struct buffered_writer *writer);
/linux-6.14.4/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-6.14.4/include/linux/
Dseqlock_types.h12 * This is the raw counting mechanism, without any writer protection.
21 * as the writer can invalidate a pointer that a reader is following.
27 * If it's desired to automatically handle the sequence counter writer
47 * reader preempting the writer, use a different technique: let the reader
48 * detect if a seqcount_LOCKNAME_t writer is in progress. If that is the
49 * case, acquire then release the associated LOCKNAME writer serialization
50 * lock. This will allow any possibly-preempted writer to make progress
51 * until the end of its writer serialization lock critical section.
77 * Sequence counters with an embedded spinlock for writer serialization
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
414 * writer, you don't need extra locking to use these macro.
451 * writer, you don't need extra locking to use these macro.
490 * writer, you don't need extra locking to use these macro.
528 * writer, you don't need extra locking to use these macro.
596 * writer, you don't need extra locking to use these macro.
671 * writer, you don't need extra locking to use these macro.
699 * writer, you don't need extra locking to use these macro.
[all …]
/linux-6.14.4/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()
235 * 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
82 * Reader1 Reader2 Writer in __rwbase_read_lock()
90 * wake(Writer) in __rwbase_read_lock()
104 * That would put Reader1 behind the writer waiting on in __rwbase_read_lock()
117 * On success the rtmutex is held, so there can't be a writer in __rwbase_read_lock()
[all …]
Drwsem.c7 * Writer lock-stealing by Alex Shi <[email protected]>
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
292 * by a writer.
[all …]
/linux-6.14.4/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-6.14.4/drivers/iommu/arm/arm-smmu-v3/
Darm-smmu-v3-test.c11 struct arm_smmu_entry_writer writer; member
54 arm_smmu_test_writer_record_syncs(struct arm_smmu_entry_writer *writer) in arm_smmu_test_writer_record_syncs() argument
57 container_of(writer, struct arm_smmu_test_writer, writer); in arm_smmu_test_writer_record_syncs()
81 writer->ops->get_used(test_writer->entry, entry_used_bits); in arm_smmu_test_writer_record_syncs()
95 arm_smmu_v3_test_debug_print_used_bits(struct arm_smmu_entry_writer *writer, in arm_smmu_v3_test_debug_print_used_bits() argument
123 .writer = { in arm_smmu_v3_test_ste_expect_transition()
138 arm_smmu_v3_test_debug_print_used_bits(&test_writer.writer, cur->data); in arm_smmu_v3_test_ste_expect_transition()
142 arm_smmu_v3_test_debug_print_used_bits(&test_writer.writer, in arm_smmu_v3_test_ste_expect_transition()
145 arm_smmu_write_entry(&test_writer.writer, cur_copy.data, target->data); in arm_smmu_v3_test_ste_expect_transition()
407 .writer = { in arm_smmu_v3_test_cd_expect_transition()
[all …]
/linux-6.14.4/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-6.14.4/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>
63 /* writer primitives */
64 struct bt_ctf_writer *writer; member
92 struct ctf_writer writer; member
705 stream = bt_ctf_writer_create_stream(cw->writer, cw->stream_class); in ctf_stream__create()
[all …]
/linux-6.14.4/scripts/
Djobserver-exec30 # Starting with GNU Make 4.4, named pipes are used for reader and writer.
36 writer = os.open(path, os.O_WRONLY) variable
38 reader, writer = [int(x) for x in fds.split(",", 1)] variable
55 os.write(writer, jobs)
75 os.write(writer, jobs)
/linux-6.14.4/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-6.14.4/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-6.14.4/drivers/gpu/drm/amd/display/dc/
Ddm_pp_smu.h106 /* reader and writer WM's are sent together as part of one table*/
206 /* reader and writer WM's are sent together as part of one table*/
215 * writer fill clk = socclk
216 * writer drain clk = uclk
275 * reader and writer WM's are sent together as part of one table
293 * reader and writer WM's are sent together as part of one table
/linux-6.14.4/Documentation/devicetree/bindings/mmc/
Dlitex,mmc.yaml31 - description: DMA Writer buffer
40 - const: writer
74 reg-names = "phy", "core", "reader", "writer", "irq";
/linux-6.14.4/kernel/printk/
Dprintk_ringbuffer.h34 * Using prb_rec_init_wr(), a writer sets @text_buf_size before calling
36 * buffers reserved for that writer.
118 desc_reserved = 0x0, /* reserved, in use by writer */
119 desc_committed = 0x1, /* committed by writer, could get reopened */
121 desc_reusable = 0x3, /* free, not yet used by any writer */
171 * The first record reserved by a writer is assigned sequence number 0.
183 * writer (head + 1) to be the first descriptor in the array. (Only the first
217 * writer, which has the assigned sequence number 0.
261 /* this will be the first record reserved by a writer */ \
306 /* Writer Interface */
/linux-6.14.4/fs/btrfs/
Dlocking.c122 * - reader/writer exclusion
123 * - writer/writer exclusion
305 * DREW stands for double-reader-writer-exclusion lock. It's used in situation
309 * writer both race to acquire their respective sides of the lock the writer
368 * the last active writer finishes its jobs. in btrfs_drew_read_lock()
/linux-6.14.4/arch/parisc/include/asm/
Dspinlock.h71 * Read-write spinlocks, allowing multiple readers but only one writer.
88 * zero means writer holds the lock exclusively, deny Reader. in arch_read_trylock()
113 * deny writer. Otherwise if unlocked grant to writer in arch_write_trylock()
/linux-6.14.4/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()

12345678910>>...14