aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mm/slab.c26
-rw-r--r--mm/slab.h2
2 files changed, 27 insertions, 1 deletions
diff --git a/mm/slab.c b/mm/slab.c
index f989af87b72c..328233a724af 100644
--- a/mm/slab.c
+++ b/mm/slab.c
@@ -2104,6 +2104,32 @@ static int __init_refok setup_cpu_cache(struct kmem_cache *cachep, gfp_t gfp)
2104 return 0; 2104 return 0;
2105} 2105}
2106 2106
2107unsigned long kmem_cache_flags(unsigned long object_size,
2108 unsigned long flags, const char *name,
2109 void (*ctor)(void *))
2110{
2111 return flags;
2112}
2113
2114struct kmem_cache *
2115__kmem_cache_alias(const char *name, size_t size, size_t align,
2116 unsigned long flags, void (*ctor)(void *))
2117{
2118 struct kmem_cache *cachep;
2119
2120 cachep = find_mergeable(size, align, flags, name, ctor);
2121 if (cachep) {
2122 cachep->refcount++;
2123
2124 /*
2125 * Adjust the object sizes so that we clear
2126 * the complete object on kzalloc.
2127 */
2128 cachep->object_size = max_t(int, cachep->object_size, size);
2129 }
2130 return cachep;
2131}
2132
2107/** 2133/**
2108 * __kmem_cache_create - Create a cache. 2134 * __kmem_cache_create - Create a cache.
2109 * @cachep: cache management descriptor 2135 * @cachep: cache management descriptor
diff --git a/mm/slab.h b/mm/slab.h
index c44d28b60609..50d29d716db4 100644
--- a/mm/slab.h
+++ b/mm/slab.h
@@ -92,7 +92,7 @@ struct mem_cgroup;
92int slab_unmergeable(struct kmem_cache *s); 92int slab_unmergeable(struct kmem_cache *s);
93struct kmem_cache *find_mergeable(size_t size, size_t align, 93struct kmem_cache *find_mergeable(size_t size, size_t align,
94 unsigned long flags, const char *name, void (*ctor)(void *)); 94 unsigned long flags, const char *name, void (*ctor)(void *));
95#ifdef CONFIG_SLUB 95#ifndef CONFIG_SLOB
96struct kmem_cache * 96struct kmem_cache *
97__kmem_cache_alias(const char *name, size_t size, size_t align, 97__kmem_cache_alias(const char *name, size_t size, size_t align,
98 unsigned long flags, void (*ctor)(void *)); 98 unsigned long flags, void (*ctor)(void *));