Increasing MAXPHYS to 256K shows a few places where it's assumed that there are 16 pages in MAXPHYS.
In dev/ic/ahci.c I had to make this change @307 to make the scatter-gather table large enough - 1 entry per page + extra because that's what the previous code had and didn't say why. I could understand +1 because a lot of code works that way. /* this makes ahci_cmd_table 512 bytes, supporting 128-byte alignment */ /* #define AHCI_MAX_PRDT 24 too small for 256K of 4K pages */ /* extra 12 is to match old 16 + 8 */ #define AHCI_MAX_PRDT ((MAXPHYS / PAGE_SIZE) + 8) Grep-ing shows at least dev/ic/osiopvar.h doesn't compute DMA resources from MAXPHYS. There are probably other "17"s buried in ugly places. It doesn't seem to help disk I/O speed at all. It *does* decrease interrupt rate to about 400/sec. Now to try some other tests. Grumble. Geoff Steckel
