Changes between Version 55 and Version 56 of AS6-TME-B6


Ignore:
Timestamp:
Mar 30, 2022, 9:46:31 AM (3 years ago)
Author:
franck
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • AS6-TME-B6

    v55 v56  
    459459}
    460460}}}
    461 
    462  **Explication de l'usage du tableau `Page`** :\\Le tableau `Page[]` est un tableau de structures dont chaque case contient l'usage de la page : pour quel slab la page est utilisée et combien d'objets y sont alloués. Lors de la libération d'un objet du noyau par `kfree()`, l'allocateur remet l'objet dans la liste des objets libres de sa taille (le tableau de listes `Slab[]`) et il décrémente le compteur d'objets présents dans la page `--Page[npage].alloc` (`npage` identifie la page). Si la page ne contient plus d'objet alloué alors `kfree()` recherche les objets libres de même taille qui sont dans la page `npage` alors il les retire. Ensuite la page est libérée.\\Vous n'avez pas à changer ce fonctionnement, ce qu'il faut c'est ne pas l'invoquer si le nombre d'objet libre est en dessous d'un seuil.
    463 
    464 
     461**Explication de l'usage du tableau `Page`** :\\Le tableau `Page[]` est un tableau de structures dont chaque case contient l'usage de la page : pour quel slab la page est utilisée et combien d'objets y sont alloués. Lors de la libération d'un objet du noyau par `kfree()`, l'allocateur remet l'objet dans la liste des objets libres de sa taille (le tableau de listes `Slab[]`) et il décrémente le compteur d'objets présents dans la page `--Page[npage].alloc` (`npage` identifie la page). Si la page ne contient plus d'objet alloué alors `kfree()` recherche les objets libres de même taille qui sont dans la page `npage` alors il les retire. Ensuite la page est libérée.\\Vous n'avez pas à changer ce fonctionnement, ce qu'il faut c'est ne pas l'invoquer si le nombre d'objet libre est en dessous d'un seuil.
     462
     463