On Thu, May 23, 2024 at 02:53:40PM -0400, Martin K. Petersen wrote: > > Christoph, > > > sd can set a max_sectors value that is lower than the max_hw_sectors > > limit based on the block limits VPD page. While this is rather > > unusual, > > It's not particularly unusual. Virtually all arrays have a much smaller > stripe or cache line size than what the average HBA can handle in one > transfer. Using the device's preferred I/O size to configure max_sectors > made a substantial difference performance-wise. Well, in terms of Linux it is weird in that drivers weren't ever supposed to set max_sectors directly but only provide max_hw_sectors (although nbd also decreases it and rbd increases it in odd ways). Especially as we already have an opt_in limit for the optimal size. I'll find a way to sort it out and build a grand unified and somewhat coherent theory out of it..