AHCI driver on master - heads up
dillon at backplane.com
Mon Dec 19 10:35:29 PST 2016
Some work has gone into the AHCI driver on master. It should not affect
anyone, but I'm posting a heads-up because this is the primary SATA storage
device used on most machines and the changes made are significant enough
that they could conceivably cause an issue. So if you are using master, be
sure you have a good backup kernel in case something goes wrong.
The easiest way to create a backup kernel is to first install the new
kernel. Your previous kernel will be stripped and copied to
/boot/kernel.old. Then copy /boot/kernel.old to /boot/kernel.bak using:
cpdup /boot/kernel.old /boot/kernel.bak
This way you don't waste space in /boot copying kernels and modules with
full debug symbols. Having a kernel.bak is a good idea because it will
never be overwritten by an installkernel or other build target. It will
show up in the loader under 'b' for backup kernel.
Experimental FIS-Based Switching support has been added to the AHCI
driver's port-multiplier code. Most AHCI chipsets do not have this
capability and the few that do tend to have fairly buggy hardware, so I am
not recommending that port multipliers be used generally. However, after
years of waiting I finally got my hands on a mobo that had the feature and
I've wanted to implement it forever, so I have done so.
The FBS feature allows the computer to queue concurrent commands to
multiple targets behind a port-multiplier. Without it, only one target can
be addressed at a time. Test results with some old HDDs I had on a shelf
can be found here. As expected, concurrent performance to multiple targets
is vastly improved.
However, I must again stress that AHCI-based port-multipliers tend to
fall-over when errors occur, or even if you are just hot-swapping a drive
sometimes. Using a port-multiplier is not a good solution for serious
setups. Blame Intel for intentionally screwing up the consumer AHCI spec
in order to prevent it from competing with commercial SAS controllers.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Users