/linux/drivers/md/dm-vdo/indexer/ |
H A D | io-factory.c | 43 * 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 in get_remaining_write_space() 312 prepare_next_buffer(struct buffered_writer * writer) prepare_next_buffer() argument 334 flush_previous_buffer(struct buffered_writer * writer) flush_previous_buffer() argument 358 uds_free_buffered_writer(struct buffered_writer * writer) uds_free_buffered_writer() argument 379 uds_write_to_buffered_writer(struct buffered_writer * writer,const u8 * data,size_t length) uds_write_to_buffered_writer() argument 409 uds_flush_buffered_writer(struct buffered_writer * writer) uds_flush_buffered_writer() argument [all...] |
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 in finish_previous_chapter() 218 struct chapter_writer *writer = index->chapter_writer; start_closing_chapter() local 675 struct chapter_writer *writer = arg; close_chapters() local 731 stop_chapter_writer(struct chapter_writer * writer) stop_chapter_writer() argument 748 free_chapter_writer(struct chapter_writer * writer) free_chapter_writer() argument 763 struct chapter_writer *writer; make_chapter_writer() local 1300 struct chapter_writer *writer = index->chapter_writer; uds_wait_for_idle_index() local [all...] |
H A D | index-layout.c | 517 struct buffered_writer *writer) in write_index_save_header() argument 541 result = uds_write_to_buffered_writer(writer, buffer, offset); in write_index_save_header() 546 return uds_flush_buffered_writer(writer); in write_index_save_header() 554 struct buffered_writer *writer; in write_index_save_layout() local 560 result = open_region_writer(layout, &isl->header, &writer); in write_index_save_layout() 566 result = write_index_save_header(isl, table, writer); in write_index_save_layout() 568 uds_free_buffered_writer(writer); in write_index_save_layout() 687 struct buffered_writer *writer) in write_layout_header() argument 716 result = uds_write_to_buffered_writer(writer, buffer, offset); in write_layout_header() 721 return uds_flush_buffered_writer(writer); in write_layout_header() 729 struct buffered_writer *writer = NULL; write_uds_index_config() local 754 struct buffered_writer *writer = NULL; save_layout() local 863 struct buffered_writer *writer; uds_discard_open_chapter() local [all...] |
H A 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()
|
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);
|
H A 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()
|
H A 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()
|
H A D | index-page-map.h | 34 struct buffered_writer *writer);
|
H A D | open-chapter.h | 72 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 ca [all...] |
/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_cop in arm_smmu_v3_test_ste_expect_transition() [all...] |
/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/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/include/linux/ |
H A D | percpu-rwsem.h | 16 struct rcuwait writer; member 35 .writer = __RCUWAIT_INITIALIZER(name.writer), \ 57 * We are in an RCU-sched read-side critical section, so the writer in percpu_down_read_internal() 60 * the writer won't be checking until we're past the preempt_enable() in percpu_down_read_internal() 61 * and that once the synchronize_rcu() is done, the writer will see in percpu_down_read_internal() 123 * writer. in percpu_up_read() 132 rcuwait_wake_up(&sem->writer); in percpu_up_read()
|
/linux/Documentation/locking/ |
H A 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 o [all...] |
H A 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/lib/ |
H A 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/samples/rust/ |
H A D | rust_misc_device.rs | 184 RUST_MISC_DEV_GET_VALUE => me.get_value(UserSlice::new(arg, size).writer())?, in ioctl() 219 fn get_value(&self, mut writer: UserSliceWriter) -> Result<isize> { in get_value() 232 writer.write::<i32>(&value)?; in get_value()
|
/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/tools/perf/util/ |
H A D | data-convert-bt.c | 14 #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 1375 struct bt_ctf_writer *writer = cw->writer; ctf_writer__setup_env() local 1513 struct bt_ctf_writer *writer; ctf_writer__init() local [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() 238 * Try set sem->block; this provides writer in percpu_down_write() [all...] |
/linux/crypto/ |
H A D | jitterentropy-testing.c | 130 u32 writer = (u32)atomic_read(&data->rb_writer); in jent_testing_reader() local 134 /* We have no data or reached the writer. */ in jent_testing_reader() 135 if (!writer || (writer == data->rb_reader)) { in jent_testing_reader()
|
/linux/drivers/misc/ibmasm/ |
H A 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/drivers/char/ |
H A D | apm-emulation.c | 107 unsigned int writer: 1; member 261 if (!as->suser || !as->writer) in apm_ioctl() 364 as->writer = (filp->f_mode & FMODE_WRITE) == FMODE_WRITE; in apm_open() 526 * Queue an event to all "writer" users that we want in apm_suspend_notifier() 534 as->writer && as->suser) { in apm_suspend_notifier()
|
/linux/drivers/tty/hvc/ |
H A D | hvsi.c | 60 struct delayed_work writer; member 751 /* 'writer' could still be pending if it didn't see n_outbuf = 0 yet */ in hvsi_flush_output() 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()
|