[next -v1 3/5] memcg: simplify the mem_cgroup_update_lru_size function

From: Chen Ridong
Date: Thu Dec 05 2024 - 20:45:17 EST


From: Chen Ridong <chenridong@xxxxxxxxxx>

In the `mem_cgroup_update_lru_size` function, the `lru_size` should be
updated by adding `nr_pages` regardless of whether `nr_pages` is greater
than 0 or less than 0. To simplify this function, add a check for
`nr_pages` == 0. When `nr_pages` is not equal to 0, perform the same
actions.

Signed-off-by: Chen Ridong <chenridong@xxxxxxxxxx>
---
mm/memcontrol.c | 8 ++------
1 file changed, 2 insertions(+), 6 deletions(-)

diff --git a/mm/memcontrol.c b/mm/memcontrol.c
index da6e4e9bd0fa..f977e0be1c04 100644
--- a/mm/memcontrol.c
+++ b/mm/memcontrol.c
@@ -1280,15 +1280,14 @@ void mem_cgroup_update_lru_size(struct lruvec *lruvec, enum lru_list lru,
unsigned long *lru_size;
long size;

- if (mem_cgroup_disabled())
+ if (mem_cgroup_disabled() || !nr_pages)
return;

mz = container_of(lruvec, struct mem_cgroup_per_node, lruvec);
lru_size = &mz->lru_zone_size[zid][lru];

- if (nr_pages < 0)
- *lru_size += nr_pages;

+ *lru_size += nr_pages;
size = *lru_size;
if (WARN_ONCE(size < 0,
"%s(%p, %d, %d): lru_size %ld\n",
@@ -1296,9 +1295,6 @@ void mem_cgroup_update_lru_size(struct lruvec *lruvec, enum lru_list lru,
VM_BUG_ON(1);
*lru_size = 0;
}
-
- if (nr_pages > 0)
- *lru_size += nr_pages;
}

/**
--
2.34.1