208 | | * |
| 208 | * En fait, la réponse est donnée dans la réponse précédente. Les slabs contiennent les objets libres et donc les futurs objets alloués. Notez que quand un objet est alloué, il n'est plus dans le slab, il y retourne quand il est libéré. |
| 209 | * L'allocateur alloue un slab quand on lui demande un objet d'une certaine taille, mais que la liste des objets libres de cette taille est vide. L'allocateur demande alors un slab (ici, une page de 4kO) pour remplir la listes d'objets libres et en extraire finalement un. |
| 210 | * L'allocateur recherche les slabs entièrement rempli d'objets libres et dans ce cas, il en retire tous les objets et rend le slab. Cette politique n'est pas forcément efficace, il est sans doute préférable d'avoir toujours des listes d'objets libres non vides. On peut donc définir un seuil d'objets libre en dessous duquel ne pas descendre. |