From fec5b3635768fd54c5dd1ceddeaa6ba1547ba0d9 Mon Sep 17 00:00:00 2001 From: Christopher Haster Date: Tue, 3 Feb 2026 23:28:08 -0600 Subject: [PATCH] runners: bench: Bumped sim up to 1 MiB + 1 hour + 128 MiB disk This gives us much more room for activities. It makes sense to keep the test disk small: easier parallelization, heavier emubd with more test features, and if you're running into space issues in a test, that usually just means you need to be more creative with how the test is setup. But for benches, we're interested what happens when we throw a ton of data at the system. Also defaulted to noop erases. 0xff erases behave more predictably, which is useful for testing. But for benching, less work is faster. --- benches/bench_rbyd.toml | 3 +++ benches/bench_wt.toml | 4 ++-- runners/bench_defines.h | 6 ++++-- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/benches/bench_rbyd.toml b/benches/bench_rbyd.toml index b3a80eb6..ab2defb7 100644 --- a/benches/bench_rbyd.toml +++ b/benches/bench_rbyd.toml @@ -7,6 +7,9 @@ defines.BLOCK_SIZE = 'DISK_SIZE' defines.BLOCK_COUNT = 1 +# don't bother simulating erases, this gets expensive with big disks +defines.ERASE_VALUE = -1 + [cases.bench_rbyd] # 0 = in-order # 1 = reversed-order diff --git a/benches/bench_wt.toml b/benches/bench_wt.toml index 904c93db..d9703aa3 100644 --- a/benches/bench_wt.toml +++ b/benches/bench_wt.toml @@ -5,7 +5,7 @@ # note for bench_*_many, file size defaults to CHUNK, and SIZE = sum of # all files # -defines.SIZE = 32768 +defines.SIZE = '1024*1024' # 1 MiB defines.CHUNK = 64 defines.SEED = 42 @@ -14,7 +14,7 @@ defines.FILE_SIZE = 'CHUNK' defines.FILE_COUNT = '(SIZE+(FILE_SIZE-1)) / lfs3_max(FILE_SIZE, 1)' # simulated time, in nanoseconds, to run the bench -defines.SIM_TIME = 60000000000 # 1 minute +defines.SIM_TIME = '60ULL*60ULL*1000ULL*1000ULL*1000ULL' # 1 hour # simulation size in bytes defines.SIM_SIZE = 0 diff --git a/runners/bench_defines.h b/runners/bench_defines.h index 859cc941..8f30bc8b 100644 --- a/runners/bench_defines.h +++ b/runners/bench_defines.h @@ -13,7 +13,7 @@ // preconfigured defines that control how benches run #ifdef BENCH_DEFINE // name value (overridable) - BENCH_DEFINE(DISK_SIZE, 1024*1024 ) + BENCH_DEFINE(DISK_SIZE, 128*1024*1024 ) BENCH_DEFINE(DISK_GEOMETRY, 0 ) BENCH_DEFINE(READ_SIZE, DISK_MAP(READ_SIZE) ) BENCH_DEFINE(PROG_SIZE, DISK_MAP(PROG_SIZE) ) @@ -35,7 +35,9 @@ BENCH_DEFINE(FRAGMENT_SIZE, LFS3_MIN(BLOCK_SIZE/8, 512) ) BENCH_DEFINE(CRYSTAL_THRESH, BLOCK_SIZE/8 ) BENCH_DEFINE(LOOKGBMAP_THRESH, BLOCK_COUNT/4 ) - BENCH_DEFINE(ERASE_VALUE, 0xff ) + // don't bother simulating erases, this may be less realistic, but + // it's certainly faster! + BENCH_DEFINE(ERASE_VALUE, -1 ) BENCH_DEFINE(READ_WIDTH, DISK_MAP(READ_WIDTH) ) BENCH_DEFINE(PROG_WIDTH, DISK_MAP(PROG_WIDTH) ) BENCH_DEFINE(ERASE_WIDTH, DISK_MAP(ERASE_WIDTH) )