Tag
buffering
- May 19, 2026 What write() Actually Does Before Data Leaves the Process How a buffered write lands in the page cache as dirty pages, when the kernel begins writing them back, and why the call returning does not mean the bytes are on the device. performance engineering
- Apr 24, 2026 Short Counts: Why read and write Return Less Than Asked A successful read or write may transfer fewer bytes than requested, and the reasons differ by object type. The cases differ by object type, and each needs a loop that distinguishes end-of-file, interruption, and a partial transfer. systems programming
- Mar 26, 2026 Blocking Records on Magnetic Tape and the Cost of the Interblock Gap Why tape stores records in blocks separated by blank gaps, how block size trades tape capacity against buffer memory, and what tape marks and labels do that a gap cannot. computing history
- Feb 27, 2026 Readahead Policy and the Read Sizes the Page Cache Actually Sees How the kernel detects sequential access, how far ahead it reads, and why a reader that is fed by readahead measures the cache rather than the storage device. performance engineering
- Jul 2, 2025 Backpressure and Loss at the Collection Boundary Why a log shipper must choose between blocking the application and dropping records, and how buffer sizing, disk queues, and drop accounting change that choice. observability
- Jun 6, 2025 Where a read() Syscall Spends Time Before It Reaches the Data The fixed work the kernel performs on every read, why cost per byte collapses as buffers shrink, and which interfaces amortise the transition. performance engineering
- Nov 22, 2024 Alignment, O_DIRECT, and the Cost of Bypassing the Page Cache The alignment and size rules a direct I/O request must satisfy, which part of the page-cache path disappears and which remains, and the cases where the bypass loses rather than wins. performance engineering
- Nov 5, 2023 Buffering Modes and Why Pipeline Output Appears Out of Order How the C library decides between line and block buffering, why redirection changes the interleaving of standard output and standard error, and what flushing actually guarantees. developer tools
- Mar 10, 2022 What a Pipe Holds: Kernel Buffering, Atomic Writes, and SIGPIPE The pipe as a bounded in-kernel queue, why writes below PIPE_BUF never interleave, and how a closed read end turns into a signal rather than an error. developer tools