2010-08-03 124 views

回答

5
  • 在2.6.35,load_module()撈出如果模塊以負載的長度超過64 MB:http://lxr.linux.no/#linux+v2.6.35/kernel/module.c#L2118
  • vmalloc的()用於分配用於模塊空間 - 如果嘗試失敗分配更多的頁面,而不是物理內存中可用的頁面(這反過來可能只是低RAM內存的問題)
  • 此外,還使用了kzalloc()(以及kmalloc())。根據所使用的分配器(SLAB,SLOB,SLUB),也可能存在限制。 SLAB定義了一個KMALLOC_MAX_SIZE,它定義了一次調用kmalloc()可以分配的最大字節數。