Lines Matching refs:slab
6 A :dfn:`memory slab` is a kernel object that allows memory blocks
8 All memory blocks in a memory slab have a single fixed size,
20 memory slab is referenced by its memory address.
22 A memory slab has the following key properties:
30 * A **buffer** that provides the memory for the memory slab's blocks.
33 The memory slab's buffer must be aligned to an N-byte boundary, where
38 A memory slab must be initialized before it can be used. This marks all of
42 slab. When the thread finishes with a memory block,
43 it must release the block back to the memory slab so the block can be reused.
47 Any number of threads may wait on an empty memory slab simultaneously;
51 Unlike a heap, more than one memory slab can be defined, if needed. This
52 allows for a memory slab with smaller blocks and others with larger-sized
58 A memory slab's buffer is an array of fixed-size blocks,
61 The memory slab keeps track of unallocated blocks using a linked list;
70 A memory slab is defined using a variable of type :c:type:`k_mem_slab`.
73 The following code defines and initializes a memory slab that has 6 blocks
83 Alternatively, a memory slab can be defined and initialized at compile time
87 that the macro defines both the memory slab and its buffer.
93 Similarly, you can define a memory slab in private scope:
138 Use a memory slab to allocate and free memory in fixed-size blocks.
140 Use memory slab blocks when sending large amounts of data from one thread