iter10: chunk back to 32 MiB
iter9 (64 MiB on top of no-P2.5) regressed -1.2 from iter8. 32 MiB
remains best on the no-P2.5 path. Net iter10 = iter8 minus DONTNEED
(via the prior commit re-applying f4a881b).
This commit is contained in:
@@ -73,14 +73,8 @@ use std::path::Path;
|
|||||||
use super::writeback::WritebackPipeline;
|
use super::writeback::WritebackPipeline;
|
||||||
|
|
||||||
/// Granularity at which the Linux writeback pipeline issues
|
/// Granularity at which the Linux writeback pipeline issues
|
||||||
/// `sync_file_range` / `posix_fadvise(DONTNEED)` pairs.
|
/// `sync_file_range` pairs. 32 MiB best-tested with iter8 (28.7 mean).
|
||||||
///
|
const WRITEBACK_CHUNK_BYTES: u64 = 32 * 1024 * 1024;
|
||||||
/// iter9 (2026-05-17): 32 → 64 MiB on top of iter8 (Phase 2.5
|
|
||||||
/// disabled). Without Phase 2.5's writer thread, WAIT_AFTER blocks
|
|
||||||
/// the mux thread directly. Bigger chunks = fewer WAIT_AFTER calls
|
|
||||||
/// = less mux-thread blocking. iter8 mean was 28.7 with 32 MiB; aim
|
|
||||||
/// to clear the 30 floor by halving WAIT_AFTER frequency.
|
|
||||||
const WRITEBACK_CHUNK_BYTES: u64 = 64 * 1024 * 1024;
|
|
||||||
|
|
||||||
pub(crate) struct WritebackFile {
|
pub(crate) struct WritebackFile {
|
||||||
file: File,
|
file: File,
|
||||||
|
|||||||
Reference in New Issue
Block a user