1
Existe-t-il des restrictions sur l'utilisation de la mémoire par un module noyau Linux i.e Taille du segment de code ou quantité de mémoire globale ou autre chose.Existe-t-il des restrictions de mémoire sur les modules du noyau Linux?
A
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().