AHCI maximum transfer size

Gionatan Danti
2014-09-11T14:38:00Z

Hi all,
I searched the list and the internet for this question, but I did not
find a definitive answer.

I wonder what is the maximum AHCI transfer size for kernel 2.6.32.x
Let me explain: using a command as "dd if=/dev/zero of=/dev/sda bs=2M" I
can see, via iostat, that request-size is at 2M (as expected). However
it seems to me that the effective transfer size is way lower: disabling
writeback cache on the target disk, I see very low performance even for
big-chunk transfers.

Googling, I found this post on stackoverflow stating that maximum
observerd AHCI transfer size (with a SATA protocol analyzer) is 128KB:
http://stackoverflow.com/questions/24053662/how-to-enlarge-sata-transfer-size-in-linux-ahci-driver.
The stackoverflow post seems to agree with this old LWN.net article:
http://lwn.net/Articles/77981/

Anyone has any idea of how to find (and eventually change) the used AHCI
transfer size without touching the code?

NOTE: please CC me directly.
Regards.