/linux-6.12.1/drivers/md/dm-vdo/indexer/ |
D | io-factory.c | 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() 318 writer->error = UDS_OUT_OF_RANGE; in prepare_next_buffer() 322 data = dm_bufio_new(writer->client, writer->block_number, &buffer); in prepare_next_buffer() [all …]
|
D | index.c | 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() 218 struct chapter_writer *writer = index->chapter_writer; in start_closing_chapter() local 220 mutex_lock(&writer->mutex); in start_closing_chapter() 221 finished_zones = ++writer->zones_to_write; in start_closing_chapter() 222 writer->chapters[zone_number] = chapter; in start_closing_chapter() 223 uds_broadcast_cond(&writer->cond); in start_closing_chapter() [all …]
|
D | index-layout.c | 542 struct buffered_writer *writer) in write_index_save_header() argument 566 result = uds_write_to_buffered_writer(writer, buffer, offset); in write_index_save_header() 571 return uds_flush_buffered_writer(writer); in write_index_save_header() 579 struct buffered_writer *writer; in write_index_save_layout() local 585 result = open_region_writer(layout, &isl->header, &writer); in write_index_save_layout() 591 result = write_index_save_header(isl, table, writer); in write_index_save_layout() 593 uds_free_buffered_writer(writer); in write_index_save_layout() 712 struct buffered_writer *writer) in write_layout_header() argument 741 result = uds_write_to_buffered_writer(writer, buffer, offset); in write_layout_header() 746 return uds_flush_buffered_writer(writer); in write_layout_header() [all …]
|
D | open-chapter.c | 292 int uds_save_open_chapter(struct uds_index *index, struct buffered_writer *writer) in uds_save_open_chapter() argument 302 result = uds_write_to_buffered_writer(writer, OPEN_CHAPTER_MAGIC, in uds_save_open_chapter() 307 result = uds_write_to_buffered_writer(writer, OPEN_CHAPTER_VERSION, in uds_save_open_chapter() 318 result = uds_write_to_buffered_writer(writer, record_count_data, in uds_save_open_chapter() 334 result = uds_write_to_buffered_writer(writer, (u8 *) record, in uds_save_open_chapter() 345 return uds_flush_buffered_writer(writer); in uds_save_open_chapter()
|
D | io-factory.h | 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);
|
D | config.c | 174 int uds_write_config_contents(struct buffered_writer *writer, in uds_write_config_contents() argument 182 result = uds_write_to_buffered_writer(writer, INDEX_CONFIG_MAGIC, in uds_write_config_contents() 192 result = uds_write_to_buffered_writer(writer, INDEX_CONFIG_VERSION_8_02, in uds_write_config_contents() 197 result = uds_write_to_buffered_writer(writer, INDEX_CONFIG_VERSION_6_02, in uds_write_config_contents() 224 return uds_write_to_buffered_writer(writer, buffer, offset); in uds_write_config_contents()
|
D | index-page-map.c | 113 int uds_write_index_page_map(struct index_page_map *map, struct buffered_writer *writer) in uds_write_index_page_map() argument 131 result = uds_write_to_buffered_writer(writer, buffer, offset); in uds_write_index_page_map() 136 return uds_flush_buffered_writer(writer); in uds_write_index_page_map()
|
D | index-page-map.h | 34 struct buffered_writer *writer);
|
/linux-6.12.1/Documentation/trace/ |
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-6.12.1/drivers/iommu/arm/arm-smmu-v3/ |
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 …]
|
D | arm-smmu-v3.c | 1068 static u8 arm_smmu_entry_qword_diff(struct arm_smmu_entry_writer *writer, in arm_smmu_entry_qword_diff() argument 1077 writer->ops->get_used(entry, cur_used); in arm_smmu_entry_qword_diff() 1078 writer->ops->get_used(target, target_used); in arm_smmu_entry_qword_diff() 1101 static bool entry_set(struct arm_smmu_entry_writer *writer, __le64 *entry, in entry_set() argument 1116 writer->ops->sync(writer); in entry_set() 1147 void arm_smmu_write_entry(struct arm_smmu_entry_writer *writer, __le64 *entry, in arm_smmu_write_entry() argument 1154 arm_smmu_entry_qword_diff(writer, entry, target, unused_update); in arm_smmu_write_entry() 1172 entry_set(writer, entry, unused_update, 0, NUM_ENTRY_QWORDS); in arm_smmu_write_entry() 1173 entry_set(writer, entry, target, critical_qword_index, 1); in arm_smmu_write_entry() 1174 entry_set(writer, entry, target, 0, NUM_ENTRY_QWORDS); in arm_smmu_write_entry() [all …]
|
/linux-6.12.1/scripts/ |
D | jobserver-exec | 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.12.1/include/linux/ |
D | percpu-rwsem.h | 15 struct rcuwait writer; member 34 .writer = __RCUWAIT_INITIALIZER(name.writer), \ 119 rcuwait_wake_up(&sem->writer); in percpu_up_read()
|
/linux-6.12.1/tools/testing/radix-tree/ |
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-6.12.1/Documentation/locking/ |
D | seqlock.rst | 8 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 …]
|
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.
|
D | spinlocks.rst | 52 Lesson 2: reader-writer spinlocks. 56 to mostly read from the shared variables, the reader-writer locks 61 NOTE! reader-writer locks require more atomic memory operations than 91 NOTE! We are working hard to remove reader-writer spinlocks in most
|
/linux-6.12.1/lib/ |
D | decompress_unlzma.c | 279 struct writer { struct 294 static inline size_t INIT get_pos(struct writer *wr) in get_pos() argument 300 static inline uint8_t INIT peek_old_byte(struct writer *wr, in peek_old_byte() 318 static inline int INIT write_byte(struct writer *wr, uint8_t byte) in write_byte() 332 static inline int INIT copy_byte(struct writer *wr, uint32_t offs) in copy_byte() 337 static inline int INIT copy_bytes(struct writer *wr, in copy_bytes() 349 static inline int INIT process_bit0(struct writer *wr, struct rc *rc, in process_bit0() 393 static inline int INIT process_bit1(struct writer *wr, struct rc *rc, in process_bit1() 555 struct writer wr; in unlzma()
|
/linux-6.12.1/tools/perf/util/ |
D | data-convert-bt.c | 64 struct bt_ctf_writer *writer; member 92 struct ctf_writer writer; member 704 stream = bt_ctf_writer_create_stream(cw->writer, cw->stream_class); in ctf_stream__create() 803 struct ctf_writer *cw = &c->writer; in process_sample_event() 880 struct ctf_writer *cw = &c->writer; \ 1373 struct bt_ctf_writer *writer = cw->writer; in ctf_writer__setup_env() local 1377 if (bt_ctf_writer_add_environment_field(writer, __n, __v)) \ in ctf_writer__setup_env() 1502 bt_ctf_writer_put(cw->writer); in ctf_writer__cleanup() 1511 struct bt_ctf_writer *writer; in ctf_writer__init() local 1518 writer = bt_ctf_writer_create(path); in ctf_writer__init() [all …]
|
/linux-6.12.1/tools/testing/selftests/powerpc/dscr/ |
D | dscr_default_test.c | 41 pthread_t writer; in dscr_default_lockstep_test() local 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-6.12.1/kernel/locking/ |
D | percpu-rwsem.c | 22 rcuwait_init(&sem->writer); in __percpu_init_rwsem() 79 rcuwait_wake_up(&sem->writer); in __percpu_down_read_trylock() 253 rcuwait_wait_event(&sem->writer, readers_active_check(sem), TASK_UNINTERRUPTIBLE); in percpu_down_write()
|
/linux-6.12.1/crypto/ |
D | jitterentropy-testing.c | 130 u32 writer = (u32)atomic_read(&data->rb_writer); in jent_testing_reader() local 135 if (!writer || (writer == data->rb_reader)) { in jent_testing_reader()
|
/linux-6.12.1/drivers/misc/ibmasm/ |
D | remote.c | 173 unsigned long writer; in ibmasm_handle_mouse_interrupt() local 177 writer = get_queue_writer(sp); in ibmasm_handle_mouse_interrupt() 179 while (reader != writer) { in ibmasm_handle_mouse_interrupt() 192 writer = get_queue_writer(sp); in ibmasm_handle_mouse_interrupt()
|
/linux-6.12.1/drivers/char/ |
D | apm-emulation.c | 107 unsigned int writer: 1; member 264 if (!as->suser || !as->writer) in apm_ioctl() 367 as->writer = (filp->f_mode & FMODE_WRITE) == FMODE_WRITE; in apm_open() 535 as->writer && as->suser) { in apm_suspend_notifier()
|
/linux-6.12.1/drivers/tty/hvc/ |
D | hvsi.c | 60 struct delayed_work writer; member 752 cancel_delayed_work_sync(&hp->writer); in hvsi_flush_output() 852 container_of(work, struct hvsi_struct, writer.work); in hvsi_write_worker() 872 schedule_delayed_work(&hp->writer, HZ); in hvsi_write_worker() 878 schedule_delayed_work(&hp->writer, 10); in hvsi_write_worker() 948 schedule_delayed_work(&hp->writer, 10); in hvsi_write() 1199 INIT_DELAYED_WORK(&hp->writer, hvsi_write_worker); in hvsi_console_init()
|