星期五, 6月 20, 2008

FreeBSD的PAE與某些driver不合

FreeBSD Handbook8.5 The Configuration File中8.5.1 Large Memory Configurations (PAE)的說明:

Note: The PAE support in FreeBSD is only available for Intel IA-32 processors. It should also be noted, that the PAE support in FreeBSD has not received wide testing, and should be considered beta quality compared to other stable features of FreeBSD.

PAE support in FreeBSD has a few limitations:

  • A process is not able to access more than 4 gigabytes of VM space.

  • KLD modules cannot be loaded into a PAE enabled kernel, due to the differences in the build framework of a module and the kernel.

  • Device drivers that do not use the bus_dma(9) interface will cause data corruption in a PAE enabled kernel and are not recommended for use. For this reason, a PAE kernel configuration file is provided in FreeBSD which excludes all drivers not known to work in a PAE enabled kernel.

  • Some system tunables determine memory resource usage by the amount of available physical memory. Such tunables can unnecessarily over-allocate due to the large memory nature of a PAE system. One such example is the kern.maxvnodes sysctl, which controls the maximum number of vnodes allowed in the kernel. It is advised to adjust this and other such tunables to a reasonable value.

  • It might be necessary to increase the kernel virtual address (KVA) space or to reduce the amount of specific kernel resource that is heavily used (see above) in order to avoid KVA exhaustion. The KVA_PAGES kernel option can be used for increasing the KVA space.


看完真是沒力,果然在編譯核心時跑到/usr/src/sys/dev/advansys就出問題;於是改用預設的PAE Configuration file,就可以編譯過。重開機原本以為會抓不到我的網卡之類,結果還是全都抓得到呀!FreeBSD真是太神奇了...

沒有留言: