[RFC PATCH 04/15] mm: memcontrol: use lruvec_memcg in lruvec_holds_page_lru_lock

From: Muchun Song
Date: Tue Mar 30 2021 - 06:22:17 EST


We already have a helper lruvec_memcg() to get the memcg from lruvec, we
do not need to do it ourselves in the lruvec_holds_page_lru_lock(). So use
lruvec_memcg() instead.

Signed-off-by: Muchun Song <songmuchun@xxxxxxxxxxxxx>
---
include/linux/memcontrol.h | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/include/linux/memcontrol.h b/include/linux/memcontrol.h
index a35a22994cf7..6e3283828391 100644
--- a/include/linux/memcontrol.h
+++ b/include/linux/memcontrol.h
@@ -744,20 +744,20 @@ static inline struct lruvec *mem_cgroup_page_lruvec(struct page *page)
return mem_cgroup_lruvec(memcg, pgdat);
}

+static inline struct mem_cgroup *lruvec_memcg(struct lruvec *lruvec);
+
static inline bool lruvec_holds_page_lru_lock(struct page *page,
struct lruvec *lruvec)
{
pg_data_t *pgdat = page_pgdat(page);
const struct mem_cgroup *memcg;
- struct mem_cgroup_per_node *mz;

if (mem_cgroup_disabled())
return lruvec == &pgdat->__lruvec;

- mz = container_of(lruvec, struct mem_cgroup_per_node, lruvec);
memcg = page_memcg(page) ? : root_mem_cgroup;

- return lruvec->pgdat == pgdat && mz->memcg == memcg;
+ return lruvec->pgdat == pgdat && lruvec_memcg(lruvec) == memcg;
}

struct mem_cgroup *mem_cgroup_from_task(struct task_struct *p);
--
2.11.0