2a72dd1700
Initial results with the new timing calculations looked weird. Turns out different block sizes perform surprisingly when they all cost the same! Fortunately, erases are the one operation where per-byte vs per-op timing doesn't really matter, so reverting to only per-byte timing solves this problem. Now, erasing 2 4KiB blocks should take the same time as 1 8KiB block, instead of twice as long. --- Arguably, erase timing shouldn't be _strictly_ linear w.r.t. block size. There's a reason denser storage usually ends up with larger block sizes after all. But preventing the block size from messing with per-byte timings is much more interesting from a filesystem design perspective. It also matches the behavior of artificially increasing block size to reduce block allocator pressure. Unfortunately, this also raises concerns with read/prog timing when varying geometry is involved... Should we stick to the per-byte timing in such cases? Is there a better timing model out there without too much additional complexity?