The adaptec SCSI controller such as Aic7892 (29160 SCSI adapter) uses "ahc" driver which has an option "AHC_ALLOW_MEMIO". The AHC_ALLOW_MEMIO enhances the I/O performance a lot compared with those SCSI drivers have no MEMIO option. I have tried Adaptec AIC7902 Ultra320 SCSI adapter (which has no MEMIO option), and the performance is really bad compared with Aic7892 MEMIO option. I doubt why there is no MEMIO option for other SCSI controllers?
Responsible Changed From-To: freebsd-advocacy->gibbs Over to ahc/ahd maintainer
State Changed From-To: open->closed The AHC_ALLOW_MEMIO option was introduced at a time when the driver did not have a robust method for detecting a failure when memory mapping controller registers on some "cheap" x86 machines (typically those with VIA chipsets). Since that time, a test was devised that catches these issues. This is why the aic79xx driver does not have an option to enable/disable memory mapped I/O. It will use memory mapped I/O if possible on your system. Similar tests can be introduced in other drivers so this type of option should not be necessary there either. I would be interested in understanding your performance problems with the ahd driver. Please submit a different PR for that issue should it continue to occur.