This is just refactoring to allow next patches to have
memcg pointer in list_lru_from_kmem().

Signed-off-by: Kirill Tkhai <ktk...@virtuozzo.com>
Acked-by: Vladimir Davydov <vdavydov....@gmail.com>
Tested-by: Shakeel Butt <shake...@google.com>
---
 mm/list_lru.c |   25 +++++++++++++++++--------
 1 file changed, 17 insertions(+), 8 deletions(-)

diff --git a/mm/list_lru.c b/mm/list_lru.c
index 5aebbb9b2f5b..1fc5be746e69 100644
--- a/mm/list_lru.c
+++ b/mm/list_lru.c
@@ -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--;

Reply via email to