<div dir="ltr">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.<div><br></div><div>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: </div><div><br></div><div>cpdup /boot/kernel.old /boot/kernel.bak</div><div><br></div><div>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.</div><div><br></div><div>--</div><div><br></div><div>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.</div><div><br></div><div>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.</div><div><br></div><div><a href="http://apollo.backplane.com/DFlyMisc/portmult01.txt">http://apollo.backplane.com/DFlyMisc/portmult01.txt</a></div><div><br></div><div>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.</div><div><br></div><div>-Matt</div></div>