]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/blobdiff - mm/list_lru.c
UBUNTU: Ubuntu-4.15.0-96.97
[mirror_ubuntu-bionic-kernel.git] / mm / list_lru.c
index fd41e969ede520f535dced835cd69e1e74a02951..f1e41a88926d0a6be71d6f095d6fe5bb92986810 100644 (file)
@@ -42,11 +42,7 @@ static void list_lru_unregister(struct list_lru *lru)
 #if defined(CONFIG_MEMCG) && !defined(CONFIG_SLOB)
 static inline bool list_lru_memcg_aware(struct list_lru *lru)
 {
-       /*
-        * This needs node 0 to be always present, even
-        * in the systems supporting sparse numa ids.
-        */
-       return !!lru->node[0].memcg_lrus;
+       return lru->memcg_aware;
 }
 
 static inline struct list_lru_one *
@@ -318,7 +314,7 @@ static int __memcg_init_list_lru_node(struct list_lru_memcg *memcg_lrus,
        }
        return 0;
 fail:
-       __memcg_destroy_list_lru_node(memcg_lrus, begin, i - 1);
+       __memcg_destroy_list_lru_node(memcg_lrus, begin, i);
        return -ENOMEM;
 }
 
@@ -390,6 +386,8 @@ static int memcg_init_list_lru(struct list_lru *lru, bool memcg_aware)
 {
        int i;
 
+       lru->memcg_aware = memcg_aware;
+
        if (!memcg_aware)
                return 0;