|
@@ -57,6 +57,18 @@ unsigned int kmem_cache_size(struct kmem_cache *);
|
|
|
const char *kmem_cache_name(struct kmem_cache *);
|
|
|
int kmem_ptr_validate(struct kmem_cache *cachep, const void *ptr);
|
|
|
|
|
|
+/*
|
|
|
+ * Please use this macro to create slab caches. Simply specify the
|
|
|
+ * name of the structure and maybe some flags that are listed above.
|
|
|
+ *
|
|
|
+ * The alignment of the struct determines object alignment. If you
|
|
|
+ * f.e. add ____cacheline_aligned_in_smp to the struct declaration
|
|
|
+ * then the objects will be properly aligned in SMP configurations.
|
|
|
+ */
|
|
|
+#define KMEM_CACHE(__struct, __flags) kmem_cache_create(#__struct,\
|
|
|
+ sizeof(struct __struct), __alignof__(struct __struct),\
|
|
|
+ (__flags), NULL, NULL)
|
|
|
+
|
|
|
#ifdef CONFIG_NUMA
|
|
|
extern void *kmem_cache_alloc_node(struct kmem_cache *, gfp_t flags, int node);
|
|
|
#else
|