mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-30 03:27:44 -04:00
mm, sl[aou]b: Common definition for boot state of the slab allocators
All allocators have some sort of support for the bootstrap status. Setup a common definition for the boot states and make all slab allocators use that definition. Reviewed-by: Glauber Costa <[email protected]> Reviewed-by: Joonsoo Kim <[email protected]> Signed-off-by: Christoph Lameter <[email protected]> Signed-off-by: Pekka Enberg <[email protected]>
This commit is contained in:
parent
039363f38b
commit
97d0660915
6 changed files with 62 additions and 60 deletions
29
mm/slab.h
Normal file
29
mm/slab.h
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
#ifndef MM_SLAB_H
|
||||
#define MM_SLAB_H
|
||||
/*
|
||||
* Internal slab definitions
|
||||
*/
|
||||
|
||||
/*
|
||||
* State of the slab allocator.
|
||||
*
|
||||
* This is used to describe the states of the allocator during bootup.
|
||||
* Allocators use this to gradually bootstrap themselves. Most allocators
|
||||
* have the problem that the structures used for managing slab caches are
|
||||
* allocated from slab caches themselves.
|
||||
*/
|
||||
enum slab_state {
|
||||
DOWN, /* No slab functionality yet */
|
||||
PARTIAL, /* SLUB: kmem_cache_node available */
|
||||
PARTIAL_ARRAYCACHE, /* SLAB: kmalloc size for arraycache available */
|
||||
PARTIAL_L3, /* SLAB: kmalloc size for l3 struct available */
|
||||
UP, /* Slab caches usable but not all extras yet */
|
||||
FULL /* Everything is working */
|
||||
};
|
||||
|
||||
extern enum slab_state slab_state;
|
||||
|
||||
struct kmem_cache *__kmem_cache_create(const char *name, size_t size,
|
||||
size_t align, unsigned long flags, void (*ctor)(void *));
|
||||
|
||||
#endif
|
||||
Loading…
Reference in a new issue