Skip to main content

DEMOTION_PASS_BYTES

Constant DEMOTION_PASS_BYTES 

Source
const DEMOTION_PASS_BYTES: u64 = _; // 16_777_216u64
Available on Unix and crate feature pool only.
Expand description

The most extent bytes one file-mode pass demotes: a spill thread’s pass while the eviction queue is empty, and an inline pass while spill threads exist. With queued evictions a spill thread’s pass demotes one extent, so the thread alternates one eviction with one demotion.

Demotions are device writes. On a device slower than the rate at which evictions fill the compressed tier, an unbounded spill-thread pass never gets the tier back to its capacity, the eviction queue stays full, and every eviction runs inline on the threads that trip the budget. An inline pass runs on the caller’s thread, often a timely worker, and an unbounded one after a lowered RSS target writes the whole overage before the worker returns. The bound is at least the largest size class, so an inline caller still demotes the extent its own eviction added. 16 MiB is about 35 ms of writes at the 475 MB/s an 8 vCPU instance-store NVMe sustained.