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