On Fri, Jul 15, 2016 at 03:10:40AM +0800, Tom Yan wrote: > I hadn't been able to "locate" a sensible and/or solid point where the > fluctuation start, but I did notice that the chance of "failure" would > rise with the requested length. Also, if I boot with > `libata.force=noncq`, the failure seems to start off from a lower > point. > > So is that an expected characteristic of SATA/AHCI? Or does that hint > that there is something wrong in the kernel? And btw, should any block > limit be set according to this? For example, max_sectors? Host controllers and drivers have constraints other than max transfer size such as max scatter gather table entries (how many disconnected sections can be transferred on one command) and DMA boundary (the memory boundary that a single DMA transfer can't cross), so if you go to the high command size, it isn't surprising that commands of the same length succeed sometimes while not on others. Thanks. -- tejun -- To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html