aboutsummaryrefslogtreecommitdiffstats
path: root/mm/slab.h
diff options
context:
space:
mode:
Diffstat (limited to 'mm/slab.h')
-rw-r--r--mm/slab.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/mm/slab.h b/mm/slab.h
index a08f01016a3f..9631bb27c772 100644
--- a/mm/slab.h
+++ b/mm/slab.h
@@ -201,6 +201,11 @@ void __kmem_cache_free_bulk(struct kmem_cache *, size_t, void **);
201int __kmem_cache_alloc_bulk(struct kmem_cache *, gfp_t, size_t, void **); 201int __kmem_cache_alloc_bulk(struct kmem_cache *, gfp_t, size_t, void **);
202 202
203#if defined(CONFIG_MEMCG) && !defined(CONFIG_SLOB) 203#if defined(CONFIG_MEMCG) && !defined(CONFIG_SLOB)
204
205/* List of all root caches. */
206extern struct list_head slab_root_caches;
207#define root_caches_node memcg_params.__root_caches_node
208
204/* 209/*
205 * Iterate over all memcg caches of the given root cache. The caller must hold 210 * Iterate over all memcg caches of the given root cache. The caller must hold
206 * slab_mutex. 211 * slab_mutex.
@@ -300,9 +305,14 @@ static __always_inline void memcg_uncharge_slab(struct page *page, int order,
300} 305}
301 306
302extern void slab_init_memcg_params(struct kmem_cache *); 307extern void slab_init_memcg_params(struct kmem_cache *);
308extern void memcg_link_cache(struct kmem_cache *s);
303 309
304#else /* CONFIG_MEMCG && !CONFIG_SLOB */ 310#else /* CONFIG_MEMCG && !CONFIG_SLOB */
305 311
312/* If !memcg, all caches are root. */
313#define slab_root_caches slab_caches
314#define root_caches_node list
315
306#define for_each_memcg_cache(iter, root) \ 316#define for_each_memcg_cache(iter, root) \
307 for ((void)(iter), (void)(root); 0; ) 317 for ((void)(iter), (void)(root); 0; )
308 318
@@ -347,6 +357,11 @@ static inline void memcg_uncharge_slab(struct page *page, int order,
347static inline void slab_init_memcg_params(struct kmem_cache *s) 357static inline void slab_init_memcg_params(struct kmem_cache *s)
348{ 358{
349} 359}
360
361static inline void memcg_link_cache(struct kmem_cache *s)
362{
363}
364
350#endif /* CONFIG_MEMCG && !CONFIG_SLOB */ 365#endif /* CONFIG_MEMCG && !CONFIG_SLOB */
351 366
352static inline struct kmem_cache *cache_from_obj(struct kmem_cache *s, void *x) 367static inline struct kmem_cache *cache_from_obj(struct kmem_cache *s, void *x)