October 2017
Intermediate to advanced
354 pages
9h 28m
English
Each cache is represented by a cache descriptor structure kmem_cache; this structure contains all crucial metadata of the cache. It includes a list of slab descriptors, each hosting a page or a group of page frames. Pages under slabs contain objects or memory blocks, which are the allocation units of the cache. The slab descriptor points to a list of objects contained in the pages and tracks their state. A slab may be in one of three possible states--full, partial or empty--based on the state of the objects it is hosting. A slab is considered full when all its objects are in use with no free objects left for allocation. A slab with at least one free object is considered to be in partial state, and those with all objects ...