Linux writeback throttling
Linux writeback throttling is a block-layer feedback mechanism that limits eligible write traffic in response to read latency.
The wbt_lat_usec attribute expresses a minimum-read-latency target in microseconds. Its documented controls use 0 to disable WBT and -1 to restore the default target. Inspect the actual device queue and kernel version; this is not a recommended universal tuning value. [2]
Linux v6.12 compares the minimum completed-read latency with the target after at least one read and three write samples. A separate outstanding-read check can also signal excessive latency. WBT adjusts admission limits, not per-task proportional shares. [1]
The statistics measure request time from io_start_time_ns to completion accounting, not the application's entire wait. A low minimum does not bound the maximum or p99; see the explicitly synthetic comparison in the linked analysis. [3]
The v6.12 default target is 2000 microseconds for a queue marked non-rotational and 75000 for a rotational queue. These are policy defaults, not measured device speeds or completion promises. Default enablement also depends on kernel configuration and the selected scheduler. [1]
Relations
- related
- I/O scheduler, Buffered I/O
Advantages
- Can reduce competing write pressure when the read-latency feedback indicates congestion. [1]
Limitations
- Neither a tail-latency guarantee nor a durability operation; a feedback target is not a bound on every application's requests. [1, 3]
Citations
- Linux v6.12 block/blk-wbt.c: stat_sample_valid, latency_exceeded, wbt_wait and default latency
- Linux v6.12 stable block sysfs ABI: queue/wbt_lat_usec
- Linux v6.12 block/blk-stat.c: request timing, per-CPU aggregation and minimum samples
Sources & caveats
- Source inspection pinned to Linux v6.12, not a claim about every distribution or later kernel.
- The worked example is synthetic arithmetic for the completed-sample comparison; it excludes the outstanding-read branch, queue evolution and device behavior.
- No kernel tuning, hardware benchmark, scheduler replication or performance gain measured.