On 09/07/2025 02:39, Martin K. Petersen wrote:

John,

For io_min/opt, maybe reduce to a factor of the stripe size / width
(and which fits in a unsigned int).

I am not sure if it is even sane to have such huge values in io_min
and the bottom disk io_min should be used directly instead.

The intent for io_min was to convey the physical_block_size in the case
of an individual drive. And for it to be set to the stripe chunk size in
stacking scenarios that would otherwise involve read-modify-write (i.e.
RAID5 and RAID6).

And the same is done for md raid0/dm stripe; I suppose that the idea is to encourage larger than chunk size writes to see the performance advantage in striping.

> > io_opt was meant to communicate the stripe width. Reporting very large
values for io_opt is generally counterproductive since we can't write
multiple gigabytes in a single operation anyway.


Right, and so it seems counterproductive to have chunk size much bigger than bottom device io_opt

logical <= physical <= io_min <= io_opt <= max_sectors <= max_hw_sectors



Reply via email to