Re: [PATCH 00/12] zbd: fix problems of random write with unaligned block size

Damien Le Moal <[email protected]> Mon, 26 Jan 2026 15:50:28 +0900
Newsgroups org.kernel.vger.fio
Organization Western Digital Research
Message-ID <[email protected]>
On 1/9/26 11:35 AM, Shin'ichiro Kawasaki wrote:
> When random write workload runs with zonemode=zbd and block size
> unaligned to the zone size or the initial write pointer position, two
> problems are observed. The first one is write target zone selection.
> When one zone is filled by the write workload, the same zone is selected
> as the next write target. This results in writes concentrating on
> certain zones despite the workload specifies random write.
> 
> The second problem is write performance. The writes with unaligned block
> size leaves small remainder areas at the end of write target zones. To
> free up the zone resource, current fio does zone finish operations to
> the zones with the small remainder. Fio also calls io_u_quiesce() to
> prepare for the zone finish operation and the write target zone
> switching. These zone finish operation and io_u_quiesce() calls
> significantly degrade the random write performance.
> 
> This series address these problems. The first patch addresses the write
> target zone selection problem. The following four patches address the
> performance problem. Next three patches clean up the code by removing
> the zone finish operation. The last four patches adjust documentation
> and the test set for the changes in the series.
> 
> Shin'ichiro Kawasaki (12):
>   zbd: fix zone selection of random writes
>   zbd: set norandommap=1 when zonemode=zbd is specified
>   zbd: write zone remainders smaller than minimum block size
>   zbd: fix write zone accounting
>   zbd: remove io_u_quiesce() at write target zone switch
>   zbd: remove zbd_finish_zone()
>   oslib: remove blkzoned_finish_zone()
>   ioengine: remove finish_zone()
>   doc: explain norandommap restriction and small remainder of
>     zonemode=zbd
>   t/zbd: avoid test case 14 failure due to no randam map
>   t/zbd: avoid test case 33 failure due to zone end remainder
>   t/zbd: avoid test case 71 failure due to zone end remainder

For the series:

Tested-by Damien Le Moal <[email protected]>


-- 
Damien Le Moal
Western Digital Research