2010-08-03 1 views

Répondre

5
  • En 2.6.35, load_module() renfloue si la longueur du module de charge dépasse 64 MB: http://lxr.linux.no/#linux+v2.6.35/kernel/module.c#L2118
  • vmalloc() est utilisé pour allouer de l'espace pour le module - cela échoue si vous essayez pour allouer plus de pages que disponible dans votre mémoire physique (qui à son tour sera probablement seulement un problème pour les éléments incorporés avec RAM faible)
  • En outre, kzalloc() (et à son tour, kmalloc()) sont utilisés. Selon l'allocateur utilisé (SLAB, SLOB, SLUB), il peut également y avoir des restrictions. SLAB définit un KMALLOC_MAX_SIZE qui définit le nombre maximum d'octets que vous pouvez allouer avec un seul appel à kmalloc().
Questions connexes