]> Git Repo - linux.git/blobdiff - mm/slab.h
riscv: Use PUD/P4D/PGD pages for the linear mapping
[linux.git] / mm / slab.h
index 7cc432969945f084a8beaea04afd0579e54f78bb..43966aa5fadf395a4625af865dc9ad95e5555dfe 100644 (file)
--- a/mm/slab.h
+++ b/mm/slab.h
@@ -323,6 +323,14 @@ static inline slab_flags_t kmem_cache_flags(unsigned int object_size,
 }
 #endif
 
+static inline bool is_kmalloc_cache(struct kmem_cache *s)
+{
+#ifndef CONFIG_SLOB
+       return (s->flags & SLAB_KMALLOC);
+#else
+       return false;
+#endif
+}
 
 /* Legal flag mask for kmem_cache_create(), for various configurations */
 #define SLAB_CORE_FLAGS (SLAB_HWCACHE_ALIGN | SLAB_CACHE_DMA | \
@@ -486,7 +494,7 @@ static inline bool memcg_slab_pre_alloc_hook(struct kmem_cache *s,
 {
        struct obj_cgroup *objcg;
 
-       if (!memcg_kmem_enabled())
+       if (!memcg_kmem_online())
                return true;
 
        if (!(flags & __GFP_ACCOUNT) && !(s->flags & SLAB_ACCOUNT))
@@ -527,7 +535,7 @@ static inline void memcg_slab_post_alloc_hook(struct kmem_cache *s,
        unsigned long off;
        size_t i;
 
-       if (!memcg_kmem_enabled() || !objcg)
+       if (!memcg_kmem_online() || !objcg)
                return;
 
        for (i = 0; i < size; i++) {
@@ -559,7 +567,7 @@ static inline void memcg_slab_free_hook(struct kmem_cache *s, struct slab *slab,
        struct obj_cgroup **objcgs;
        int i;
 
-       if (!memcg_kmem_enabled())
+       if (!memcg_kmem_online())
                return;
 
        objcgs = slab_objcgs(slab);
@@ -641,7 +649,7 @@ static inline struct kmem_cache *virt_to_cache(const void *obj)
 static __always_inline void account_slab(struct slab *slab, int order,
                                         struct kmem_cache *s, gfp_t gfp)
 {
-       if (memcg_kmem_enabled() && (s->flags & SLAB_ACCOUNT))
+       if (memcg_kmem_online() && (s->flags & SLAB_ACCOUNT))
                memcg_alloc_slab_cgroups(slab, s, gfp, true);
 
        mod_node_page_state(slab_pgdat(slab), cache_vmstat_idx(s),
@@ -651,7 +659,7 @@ static __always_inline void account_slab(struct slab *slab, int order,
 static __always_inline void unaccount_slab(struct slab *slab, int order,
                                           struct kmem_cache *s)
 {
-       if (memcg_kmem_enabled())
+       if (memcg_kmem_online())
                memcg_free_slab_cgroups(slab);
 
        mod_node_page_state(slab_pgdat(slab), cache_vmstat_idx(s),
This page took 0.034327 seconds and 4 git commands to generate.