zion - vmalloc
Nom
vmalloc - allouer de grandes zones de mémoire
Résumé
#include <linux/vmalloc.h> void * vmalloc (size_t taille );
Description
La fonction vmalloc alloue une zone (virtuellement mais non physiquement contiguë) de mémoire.
Le paramètre taille est le nombre d'octets à allouer.
Valeur de retour
En cas de succès, vmalloc retourne un pointeur sur la zone de mémoire allouée.
En cas d'erreur, NULL est retourné à la place.
Notes
Contrairement à kmalloc (9), vmalloc peut allouer des zones de données supérieures à 128ko. Cependant, les zones ainsi allouée, si elles sont linéaires Telles que vues par le noyau (plus exactement par le CPU), elles ne le sont que tant que l'on s'intéresse aux adresses virtuelles. La zone mémoire physiquement allouée peut être discontigue, l'unité de gestion de la mémoire du CPU (MMU : Memory Managment Unit) s'occupant de la translation. Cela peut poser des problèmes de performances vis-à-vis du cache. Et surtout, une telle zone ne conviendra pas à un périphérique qui demande l'adresse d'un tampon en mémoire. Enfin, la taille de la zone allouée est arrondie au nombre de pages immédiatement supérieur (ie, modulo 4ko sur ix86, 8ko sur alpha, ...)
Voir aussi
kmalloc (9) vfree (9)
Auteur
Thierry Vignaud < tvignaud@mandrakesoft.com >, 1999-2000
Poster un commentaire