From 553aeb59d5647fe44b6e37460ecd344ca04dd8d5 Mon Sep 17 00:00:00 2001 From: Matthew Jackson Date: Sun, 17 May 2026 09:21:00 -0700 Subject: [PATCH] iter11: WRITEBACK_CHUNK_BYTES 32 -> 128 MiB Prediction: ~26-27 mean (regression from iter8). Confirms chunk-size sweet spot at 32 MiB. Then move off chunk-size as a lever entirely. --- src/io/writeback_file/mod.rs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/io/writeback_file/mod.rs b/src/io/writeback_file/mod.rs index ff12d93..0995c98 100644 --- a/src/io/writeback_file/mod.rs +++ b/src/io/writeback_file/mod.rs @@ -73,8 +73,13 @@ use std::path::Path; use super::writeback::WritebackPipeline; /// Granularity at which the Linux writeback pipeline issues -/// `sync_file_range` pairs. 32 MiB best-tested with iter8 (28.7 mean). -const WRITEBACK_CHUNK_BYTES: u64 = 32 * 1024 * 1024; +/// `sync_file_range` pairs. +/// +/// iter11 (2026-05-17): 32 → 128 MiB. 0.21.14 tried this under Phase +/// 2.5 and reverted; with Phase 2.5 disabled (iter8 baseline) the +/// tradeoff is different. iter8 (32 MiB) = 28.7, iter9 (64 MiB) = 27.5. +/// Trying 128 to see if the iter9 dip was noise or a real trend. +const WRITEBACK_CHUNK_BYTES: u64 = 128 * 1024 * 1024; pub(crate) struct WritebackFile { file: File,