Re: [PATCH] Revert "block: simplify set_init_blocksize" to regain lost performance

From: Jens Axboe
Date: Wed Jan 27 2021 - 11:18:09 EST


On 1/26/21 12:59 PM, Maxim Mikityanskiy wrote:
> The cited commit introduced a serious regression with SATA write speed,
> as found by bisecting. This patch reverts this commit, which restores
> write speed back to the values observed before this commit.
>
> The performance tests were done on a Helios4 NAS (2nd batch) with 4 HDDs
> (WD8003FFBX) using dd (bs=1M count=2000). "Direct" is a test with a
> single HDD, the rest are different RAID levels built over the first
> partitions of 4 HDDs. Test results are in MB/s, R is read, W is write.
>
> | Direct | RAID0 | RAID10 f2 | RAID10 n2 | RAID6
> ----------------+--------+-------+-----------+-----------+--------
> 9011495c9466 | R:256 | R:313 | R:276 | R:313 | R:323
> (before faulty) | W:254 | W:253 | W:195 | W:204 | W:117
> ----------------+--------+-------+-----------+-----------+--------
> 5ff9f19231a0 | R:257 | R:398 | R:312 | R:344 | R:391
> (faulty commit) | W:154 | W:122 | W:67.7 | W:66.6 | W:67.2
> ----------------+--------+-------+-----------+-----------+--------
> 5.10.10 | R:256 | R:401 | R:312 | R:356 | R:375
> unpatched | W:149 | W:123 | W:64 | W:64.1 | W:61.5
> ----------------+--------+-------+-----------+-----------+--------
> 5.10.10 | R:255 | R:396 | R:312 | R:340 | R:393
> patched | W:247 | W:274 | W:220 | W:225 | W:121
>
> Applying this patch doesn't hurt read performance, while improves the
> write speed by 1.5x - 3.5x (more impact on RAID tests). The write speed
> is restored back to the state before the faulty commit, and even a bit
> higher in RAID tests (which aren't HDD-bound on this device) - that is
> likely related to other optimizations done between the faulty commit and
> 5.10.10 which also improved the read speed.

Can't argue with these numbers, and while this should probably get
fixed up instead, let's leave that for future kernels. I'll apply this
for 5.11, thanks.

--
Jens Axboe