On 2020/09/19 20:47, Ian S. Worthington wrote: > Hi Damien -- > > >>> This tells us that the maximum size the device can support is 256KB >>> (max_hw_sectors_kb) >>> and the maximum size that the kernel allows is 256KB (max_sectors_kb). >> >> Which highly depends on the HBA since the hard-disk interface will accept > much >> larger commands. This 256KB on your system seems to be very low. What HBA > are >> you using ? These days, most SAS HBAs have at least 128 or 256 segments, > which >> allow up to 512KB/1MB IOs. SATA/AHCI is limited at 169 segments for up to > 32MB >> max_hw_sectors_kb (and 1280 KB max_sectors_kb). >> >>> Additionally, the DMA engine is limited to 2048 segments of IO, >>> each with a max size of 64KB. >> >> That's a lot. I wonder why max_hw_sectors_kb end up so small. > > I'm trying a Raspberry Pi for this testing so only have a USB3 interface > available. Seems to be fast enough but maybe that's why it's giving numbers > that seem odd to you? Ah. OK. That explains it. USB is introducing the limitation on the number of segments here. That will result in a lot of command splits for large reads and writes, but I do not think it matters much for the workloads you ran. Cheers. -- Damien Le Moal Western Digital Research