]> Git Repo - linux.git/commitdiff
mm/list_lru.c: add memcg argument to list_lru_from_kmem()
authorKirill Tkhai <[email protected]>
Fri, 17 Aug 2018 22:47:54 +0000 (15:47 -0700)
committerLinus Torvalds <[email protected]>
Fri, 17 Aug 2018 23:20:31 +0000 (16:20 -0700)
This is just refactoring to allow the next patches to have memcg pointer
in list_lru_from_kmem().

Link: http://lkml.kernel.org/r/153063060664.1818.9541345386733498582.stgit@localhost.localdomain
Signed-off-by: Kirill Tkhai <[email protected]>
Acked-by: Vladimir Davydov <[email protected]>
Tested-by: Shakeel Butt <[email protected]>
Cc: Al Viro <[email protected]>
Cc: Andrey Ryabinin <[email protected]>
Cc: Chris Wilson <[email protected]>
Cc: Greg Kroah-Hartman <[email protected]>
Cc: Guenter Roeck <[email protected]>
Cc: "Huang, Ying" <[email protected]>
Cc: Johannes Weiner <[email protected]>
Cc: Josef Bacik <[email protected]>
Cc: Li RongQing <[email protected]>
Cc: Matthew Wilcox <[email protected]>
Cc: Matthias Kaehlcke <[email protected]>
Cc: Mel Gorman <[email protected]>
Cc: Michal Hocko <[email protected]>
Cc: Minchan Kim <[email protected]>
Cc: Philippe Ombredanne <[email protected]>
Cc: Roman Gushchin <[email protected]>
Cc: Sahitya Tummala <[email protected]>
Cc: Stephen Rothwell <[email protected]>
Cc: Tetsuo Handa <[email protected]>
Cc: Thomas Gleixner <[email protected]>
Cc: Waiman Long <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
mm/list_lru.c

index 5aebbb9b2f5ba9535157f7bfb8193636049ad7d2..1fc5be746e69bf1c9ccb38f01eb58242b2445d8c 100644 (file)
@@ -65,18 +65,24 @@ static __always_inline struct mem_cgroup *mem_cgroup_from_kmem(void *ptr)
 }
 
 static inline struct list_lru_one *
-list_lru_from_kmem(struct list_lru_node *nlru, void *ptr)
+list_lru_from_kmem(struct list_lru_node *nlru, void *ptr,
+                  struct mem_cgroup **memcg_ptr)
 {
-       struct mem_cgroup *memcg;
+       struct list_lru_one *l = &nlru->lru;
+       struct mem_cgroup *memcg = NULL;
 
        if (!nlru->memcg_lrus)
-               return &nlru->lru;
+               goto out;
 
        memcg = mem_cgroup_from_kmem(ptr);
        if (!memcg)
-               return &nlru->lru;
+               goto out;
 
-       return list_lru_from_memcg_idx(nlru, memcg_cache_id(memcg));
+       l = list_lru_from_memcg_idx(nlru, memcg_cache_id(memcg));
+out:
+       if (memcg_ptr)
+               *memcg_ptr = memcg;
+       return l;
 }
 #else
 static void list_lru_register(struct list_lru *lru)
@@ -99,8 +105,11 @@ list_lru_from_memcg_idx(struct list_lru_node *nlru, int idx)
 }
 
 static inline struct list_lru_one *
-list_lru_from_kmem(struct list_lru_node *nlru, void *ptr)
+list_lru_from_kmem(struct list_lru_node *nlru, void *ptr,
+                  struct mem_cgroup **memcg_ptr)
 {
+       if (memcg_ptr)
+               *memcg_ptr = NULL;
        return &nlru->lru;
 }
 #endif /* CONFIG_MEMCG_KMEM */
@@ -113,7 +122,7 @@ bool list_lru_add(struct list_lru *lru, struct list_head *item)
 
        spin_lock(&nlru->lock);
        if (list_empty(item)) {
-               l = list_lru_from_kmem(nlru, item);
+               l = list_lru_from_kmem(nlru, item, NULL);
                list_add_tail(item, &l->list);
                l->nr_items++;
                nlru->nr_items++;
@@ -133,7 +142,7 @@ bool list_lru_del(struct list_lru *lru, struct list_head *item)
 
        spin_lock(&nlru->lock);
        if (!list_empty(item)) {
-               l = list_lru_from_kmem(nlru, item);
+               l = list_lru_from_kmem(nlru, item, NULL);
                list_del_init(item);
                l->nr_items--;
                nlru->nr_items--;
This page took 0.056272 seconds and 4 git commands to generate.