10 |
outlined in Bonwick's~\cite{slab} paper. Some terminology: |
outlined in Bonwick's~\cite{slab} paper. Some terminology: |
11 |
|
|
12 |
\begin{description} |
\begin{description} |
13 |
\item[cache] It is a store of recently used objects of the same type. In the slab allocator, it is the highest logical unit of storage. It has a human parseable name like dentry\_cache etc. |
\idn{cache} It is a store of recently used objects of the same type. In the slab allocator, it is the highest logical unit of storage. It has a human parseable name like dentry\_cache etc. |
14 |
\item[slab] A slab is a container for objects and is made up of one or more page frames. A cache consists of a number of slabs. |
\idn{slab} A slab is a container for objects and is made up of one or more page frames. A cache consists of a number of slabs. |
15 |
\item[object] This is the smallest unit. It resides on the slab and would be something like a single dentry. |
\idn{object} This is the smallest unit. It resides on the slab and would be something like a single dentry. |
16 |
\end{description} |
\end{description} |
17 |
|
|
18 |
The objective is that a single page can now be used to contain a number of |
The objective is that a single page can now be used to contain a number of |
140 |
\end{verbatim} |
\end{verbatim} |
141 |
|
|
142 |
\begin{description} |
\begin{description} |
143 |
\item[list] The head of the list this slab belongs to. |
\idn{list} The head of the list this slab belongs to. |
144 |
\item[colouroff]The colour to help utilise the hardware cache better. |
\idx{colouroff} The colour to help utilise the hardware cache better. |
145 |
\item[s\_mem] Starting address for objects. |
\idx{s\_mem} Starting address for objects. |
146 |
\item[inuse] Number of active objects in the slab. |
\idn{inuse} Number of active objects in the slab. |
147 |
\item[free] Used for linking free objects together. |
\idn{free} Used for linking free objects together. |
148 |
\end{description} |
\end{description} |
149 |
|
|
150 |
The slab\_t struct has to be stored somewhere. It can be either stored |
The slab\_t struct has to be stored somewhere. It can be either stored |