diff --git a/mm/list_lru.c b/mm/list_lru.c index fe2300816..6611e0a1e 100755 --- a/mm/list_lru.c +++ b/mm/list_lru.c @@ -174,6 +174,7 @@ EXPORT_SYMBOL_GPL(list_lru_isolate_move); unsigned long list_lru_count_one(struct list_lru *lru, int nid, struct mem_cgroup *memcg) { +#if defined(CONFIG_MEMCG) && !defined(CONFIG_SLOB) struct list_lru_node *nlru = &lru->node[nid]; struct list_lru_one *l; unsigned long count; @@ -184,6 +185,9 @@ unsigned long list_lru_count_one(struct list_lru *lru, rcu_read_unlock(); return count; +#else + return READ_ONCE(lru->node[nid].lru.nr_items); +#endif } EXPORT_SYMBOL_GPL(list_lru_count_one);