slab: Import resources from a source arena
authorBarret Rhoden <brho@cs.berkeley.edu>
Wed, 2 Nov 2016 19:29:49 +0000 (15:29 -0400)
committerBarret Rhoden <brho@cs.berkeley.edu>
Tue, 29 Nov 2016 16:27:40 +0000 (11:27 -0500)
commita5fda019ae841be15384a39a94ddda7cd85de638
treedffe3e4131ccb8d4900b48a0fb584813e132348e
parent73b0cf7e3ca96902385676deb50f3e96af33aca3
slab: Import resources from a source arena

Previously, the implication was that all slabs pull from the general memory
allocator.  Now, they will pull from their source arenas.

Careful - for small object, pro-touch caches, the slab layer assumes that
the arena is a page-aligned, memory allocator.  I considered outlawing
small objects for caches with explicit sources, but we might have explicit
memory arenas in the future (e.g. one per NUMA domains).

Most slab caches will just use NULL for their source, which means a kpages
arena for generic kernel memory.

Signed-off-by: Barret Rhoden <brho@cs.berkeley.edu>
kern/include/slab.h
kern/src/slab.c