/linux/drivers/md/dm-vdo/indexer/ |
H A D | index.c | 27 * 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 …]
|
H A D | io-factory.h | 13 * 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/Documentation/trace/ |
H A D | ring-buffer-design.rst | 28 - 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/include/linux/ |
H A D | seqlock_types.h | 12 * 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
|
H A D | percpu-rwsem.h | 15 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()
|
H A D | kfifo.h | 31 * 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/kernel/locking/ |
H A D | percpu-rwsem.c | 22 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 …]
|
H A D | rwsem.c | 7 * 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 292 * by a writer. [all …]
|
H A D | qrwlock.c | 29 * 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/drivers/iommu/arm/arm-smmu-v3/ |
H A D | arm-smmu-v3-test.c | 11 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/kernel/trace/ |
H A D | trace_recursion_record.c | 43 * 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/scripts/ |
H A D | jobserver-exec | 30 # 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/drivers/acpi/acpica/ |
H A D | utlock.c | 4 * 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/Documentation/locking/ |
H A D | locktypes.rst | 135 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/arch/arc/include/asm/ |
H A D | spinlock.h | 75 * 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/drivers/gpu/drm/amd/display/dc/ |
H A D | dm_pp_smu.h | 106 /* 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/kernel/printk/ |
H A D | printk_ringbuffer.h | 34 * 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 */
|
H A D | printk_ringbuffer.c | 49 * A writer is modifying the record. 52 * The record and all its data are written. A writer can reopen the 58 * writer cannot reopen the descriptor. 87 * When a writer calls the commit function prb_commit(), record data is 88 * fully stored and is consistent within the ringbuffer. However, a writer can 90 * modify that record. When finished, the writer must again commit the record. 97 * 1) A writer can simultaneously commit and finalize its record by calling 115 * Each data block consists of an ID followed by the writer data. The ID is 128 * If the writer data of a data block would extend beyond the end of the 130 * position and the full data block (ID and writer data) is stored at the [all …]
|
/linux/arch/parisc/include/asm/ |
H A D | spinlock.h | 71 * 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/Documentation/devicetree/bindings/mmc/ |
H A D | litex,mmc.yaml | 31 - description: DMA Writer buffer 40 - const: writer 74 reg-names = "phy", "core", "reader", "writer", "irq";
|
/linux/tools/testing/selftests/powerpc/dscr/ |
H A D | dscr_default_test.c | 41 pthread_t writer; in dscr_default_lockstep_test() local 50 FAIL_IF(sem_init(writer_sem, 0, 1)); /* writer starts first */ in dscr_default_lockstep_test() 52 FAIL_IF(pthread_create(&writer, NULL, dscr_default_lockstep_writer, (void *)rw_semaphores)); in dscr_default_lockstep_test() 65 FAIL_IF(pthread_join(writer, NULL)); in dscr_default_lockstep_test()
|
/linux/include/asm-generic/ |
H A D | qrwlock.h | 25 * 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/tools/testing/radix-tree/ |
H A D | regression4.c | 60 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/arch/sparc/include/asm/ |
H A D | spinlock_32.h | 54 * 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,
|
/linux/tools/build/feature/ |
H A D | test-libbabeltrace.c | 3 #include <babeltrace/ctf-writer/writer.h>
|