]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - mm/slab.h
remove-abs64-fix
[karo-tx-linux.git] / mm / slab.h
index bf51a8d254cf83a728de72b36caad05b04b72de1..27492eb678f722400147e22da62a68de893497e8 100644 (file)
--- a/mm/slab.h
+++ b/mm/slab.h
@@ -236,23 +236,16 @@ static inline struct kmem_cache *memcg_root_cache(struct kmem_cache *s)
        return s->memcg_params.root_cache;
 }
 
-static __always_inline int memcg_charge_slab(struct kmem_cache *s,
-                                            gfp_t gfp, int order)
+static __always_inline int memcg_charge_slab(struct page *page,
+                                            gfp_t gfp, int order,
+                                            struct kmem_cache *s)
 {
        if (!memcg_kmem_enabled())
                return 0;
        if (is_root_cache(s))
                return 0;
-       return memcg_charge_kmem(s->memcg_params.memcg, gfp, 1 << order);
-}
-
-static __always_inline void memcg_uncharge_slab(struct kmem_cache *s, int order)
-{
-       if (!memcg_kmem_enabled())
-               return;
-       if (is_root_cache(s))
-               return;
-       memcg_uncharge_kmem(s->memcg_params.memcg, 1 << order);
+       return __memcg_kmem_charge_memcg(page, gfp, order,
+                                        s->memcg_params.memcg);
 }
 
 extern void slab_init_memcg_params(struct kmem_cache *);
@@ -289,15 +282,12 @@ static inline struct kmem_cache *memcg_root_cache(struct kmem_cache *s)
        return s;
 }
 
-static inline int memcg_charge_slab(struct kmem_cache *s, gfp_t gfp, int order)
+static inline int memcg_charge_slab(struct page *page, gfp_t gfp, int order,
+                                   struct kmem_cache *s)
 {
        return 0;
 }
 
-static inline void memcg_uncharge_slab(struct kmem_cache *s, int order)
-{
-}
-
 static inline void slab_init_memcg_params(struct kmem_cache *s)
 {
 }