Skip to contentSkip to conversation

mm/memcontrol: replace '== root_mem_cgroup' with mem_cgroup_is_root

PATCH In review Hui Su 2 participants 3 messages Nov 4, 2020 – Nov 5, 2020

Subsystems (3)
lore
Share & tools
lore

Hui Su

author
#0 lore raw

PATCH 1/1 mm/memcontrol: replace '== root_mem_cgroup' with mem_cgroup_is_root

We have supplied the inline func: mem_cgroup_is_root(). So we may use mem_cgroup_is_root() instead of using 'memcg == root_mem_cgroup' or 'memcg != root_mem_cgroup' directly, which is more readable.

---
 mm/memcontrol.c | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)
mm/memcontrol.c +8 -8
index 3dcbf24d2227..ac7af04ef88f 100644
@@ -868,7 +868,7 @@ void __mod_lruvec_slab_state(void *p, enum node_stat_item idx, int val)
 	memcg = mem_cgroup_from_obj(p);
 
 	/* Untracked pages have no memcg, no lruvec. Update only the node */
-	if (!memcg || memcg == root_mem_cgroup) {
+	if (!memcg || mem_cgroup_is_root(memcg)) {
 		__mod_node_page_state(pgdat, idx, val);
 	} else {
 		lruvec = mem_cgroup_lruvec(memcg, pgdat);
@@ -1312,7 +1312,7 @@ int mem_cgroup_scan_tasks(struct mem_cgroup *memcg,
 	struct mem_cgroup *iter;
 	int ret = 0;
 
-	BUG_ON(memcg == root_mem_cgroup);
+	BUG_ON(mem_cgroup_is_root(memcg));
 
 	for_each_mem_cgroup_tree(iter, memcg) {
 		struct css_task_iter it;
@@ -2069,7 +2069,7 @@ struct mem_cgroup *mem_cgroup_get_oom_group(struct task_struct *victim,
 	rcu_read_lock();
 
 	memcg = mem_cgroup_from_task(victim);
-	if (memcg == root_mem_cgroup)
+	if (mem_cgroup_is_root(memcg))
 		goto out;
 
 	/*
@@ -2978,7 +2978,7 @@ __always_inline struct obj_cgroup *get_obj_cgroup_from_current(void)
 	else
 		memcg = mem_cgroup_from_task(current);
 
-	for (; memcg != root_mem_cgroup; memcg = parent_mem_cgroup(memcg)) {
+	for (; !mem_cgroup_is_root(memcg); memcg = parent_mem_cgroup(memcg)) {
 		objcg = rcu_dereference(memcg->objcg);
 		if (objcg && obj_cgroup_tryget(objcg))
 			break;
@@ -7027,7 +7027,7 @@ void mem_cgroup_sk_alloc(struct sock *sk)
 
 	rcu_read_lock();
 	memcg = mem_cgroup_from_task(current);
-	if (memcg == root_mem_cgroup)
+	if (mem_cgroup_is_root(memcg))
 		goto out;
 	if (!cgroup_subsys_on_dfl(memory_cgrp_subsys) && !memcg->tcpmem_active)
 		goto out;
@@ -7156,7 +7156,7 @@ static struct mem_cgroup *mem_cgroup_id_get_online(struct mem_cgroup *memcg)
 		 * The root cgroup cannot be destroyed, so it's refcount must
 		 * always be >= 1.
 		 */
-		if (WARN_ON_ONCE(memcg == root_mem_cgroup)) {
+		if (WARN_ON_ONCE(mem_cgroup_is_root(memcg))) {
 			VM_BUG_ON(1);
 			break;
 		}
@@ -7313,7 +7313,7 @@ long mem_cgroup_get_nr_swap_pages(struct mem_cgroup *memcg)
 
 	if (cgroup_memory_noswap || !cgroup_subsys_on_dfl(memory_cgrp_subsys))
 		return nr_swap_pages;
-	for (; memcg != root_mem_cgroup; memcg = parent_mem_cgroup(memcg))
+	for (; !mem_cgroup_is_root(memcg); memcg = parent_mem_cgroup(memcg))
 		nr_swap_pages = min_t(long, nr_swap_pages,
 				      READ_ONCE(memcg->swap.max) -
 				      page_counter_read(&memcg->swap));
@@ -7335,7 +7335,7 @@ bool mem_cgroup_swap_full(struct page *page)
 	if (!memcg)
 		return false;
 
-	for (; memcg != root_mem_cgroup; memcg = parent_mem_cgroup(memcg)) {
+	for (; !mem_cgroup_is_root(memcg); memcg = parent_mem_cgroup(memcg)) {
 		unsigned long usage = page_counter_read(&memcg->swap);
 
 		if (usage * 2 >= READ_ONCE(memcg->swap.high) ||
Signature · 1 line
2.29.0
#1 lore raw
Quoted 4 lines · Hui Su

We have supplied the inline func: mem_cgroup_is_root(). So we may use mem_cgroup_is_root() instead of using 'memcg == root_mem_cgroup' or 'memcg != root_mem_cgroup' directly, which is more readable.

Most of these comparisons will go away soon:
https://lkml.org/lkml/2020/10/21/612 (this is an rfc version, I'll send an updated version soon).

Thanks!

author
#2 lore raw
Quoted 11 lines · Roman Gushchin
Quoted 4 lines · Hui Su

We have supplied the inline func: mem_cgroup_is_root(). So we may use mem_cgroup_is_root() instead of using 'memcg == root_mem_cgroup' or 'memcg != root_mem_cgroup' directly, which is more readable.

Most of these comparisons will go away soon:
https://lkml.org/lkml/2020/10/21/612 (this is an rfc version, I'll send an updated version soon).

Thanks!

Yeah, thanks.

Please ignore this change.