|
|
Typically, you did not need to change this tunable, since it was automatically set for HBA (Host Bus Adapter) drivers that may need it set. You needed to set it manually if you configured a non-HBA driver that used phystokv.
When PHYSTOKVMEM was set to ``1'', it allowed drivers using the phystokv macro to access up to 256MB of main memory. It forced HBA drivers to be loaded into memory below the threshold given by MAXDMAPAGE. It disabled the use of memory above the threshold given by MAXDMAPAGE for kernel data and bss. Typically, the kernel tried to locate itself above MAXDMAPAGE in an attempt to preserve the lower memory for more important uses.
When page preferences were in effect, the Virtual Memory subsystem gave disk-based filesystems (vxfs, ufs, sfs, and s5) preferential access to memory below MAXDMAPAGE. This was done in an attempt to avoid data copy up and down through DMA-accessible buffers. However, when total memory gets large, page preferences generally become counterproductive, since free page cache list residency time is negatively affected.