[PATCH -next] memcg: Remove inc/dec_lruvec_kmem_state helpers

Chen Ridong posted 1 patch 5 days, 21 hours ago
include/linux/memcontrol.h | 10 ----------
mm/workingset.c            |  2 +-
2 files changed, 1 insertion(+), 11 deletions(-)
[PATCH -next] memcg: Remove inc/dec_lruvec_kmem_state helpers
Posted by Chen Ridong 5 days, 21 hours ago
From: Chen Ridong <chenridong@huawei.com>

The dec_lruvec_kmem_state helper is unused by any caller and can be safely
removed. Meanwhile, the inc_lruvec_kmem_state helper is only referenced by
shadow_lru_isolate, retaining these two helpers is unnecessary. This patch
removes both helper functions to eliminate redundant code.

Signed-off-by: Chen Ridong <chenridong@huawei.com>
---
 include/linux/memcontrol.h | 10 ----------
 mm/workingset.c            |  2 +-
 2 files changed, 1 insertion(+), 11 deletions(-)

diff --git a/include/linux/memcontrol.h b/include/linux/memcontrol.h
index d35390f9892a..0651865a4564 100644
--- a/include/linux/memcontrol.h
+++ b/include/linux/memcontrol.h
@@ -1452,16 +1452,6 @@ struct slabobj_ext {
 #endif
 } __aligned(8);
 
-static inline void inc_lruvec_kmem_state(void *p, enum node_stat_item idx)
-{
-	mod_lruvec_kmem_state(p, idx, 1);
-}
-
-static inline void dec_lruvec_kmem_state(void *p, enum node_stat_item idx)
-{
-	mod_lruvec_kmem_state(p, idx, -1);
-}
-
 static inline struct lruvec *parent_lruvec(struct lruvec *lruvec)
 {
 	struct mem_cgroup *memcg;
diff --git a/mm/workingset.c b/mm/workingset.c
index 892f6fe94ea9..e9f05634747a 100644
--- a/mm/workingset.c
+++ b/mm/workingset.c
@@ -749,7 +749,7 @@ static enum lru_status shadow_lru_isolate(struct list_head *item,
 	if (WARN_ON_ONCE(node->count != node->nr_values))
 		goto out_invalid;
 	xa_delete_node(node, workingset_update_node);
-	inc_lruvec_kmem_state(node, WORKINGSET_NODERECLAIM);
+	mod_lruvec_kmem_state(node, WORKINGSET_NODERECLAIM, 1);
 
 out_invalid:
 	xa_unlock_irq(&mapping->i_pages);
-- 
2.34.1
Re: [PATCH -next] memcg: Remove inc/dec_lruvec_kmem_state helpers
Posted by Shakeel Butt 5 days, 6 hours ago
On Wed, Nov 26, 2025 at 02:04:35AM +0000, Chen Ridong wrote:
> From: Chen Ridong <chenridong@huawei.com>
> 
> The dec_lruvec_kmem_state helper is unused by any caller and can be safely
> removed. Meanwhile, the inc_lruvec_kmem_state helper is only referenced by
> shadow_lru_isolate, retaining these two helpers is unnecessary. This patch
> removes both helper functions to eliminate redundant code.
> 
> Signed-off-by: Chen Ridong <chenridong@huawei.com>

Acked-by: Shakeel Butt <shakeel.butt@linux.dev>
Re: [PATCH -next] memcg: Remove inc/dec_lruvec_kmem_state helpers
Posted by Qi Zheng 5 days, 20 hours ago
On 11/26/25 10:04 AM, Chen Ridong wrote:
> From: Chen Ridong <chenridong@huawei.com>
> 
> The dec_lruvec_kmem_state helper is unused by any caller and can be safely
> removed. Meanwhile, the inc_lruvec_kmem_state helper is only referenced by
> shadow_lru_isolate, retaining these two helpers is unnecessary. This patch
> removes both helper functions to eliminate redundant code.

Make sense.

Acked-by: Qi Zheng <zhengqi.arch@bytedance.com>

> 
> Signed-off-by: Chen Ridong <chenridong@huawei.com>
> ---
>   include/linux/memcontrol.h | 10 ----------
>   mm/workingset.c            |  2 +-
>   2 files changed, 1 insertion(+), 11 deletions(-)
> 
> diff --git a/include/linux/memcontrol.h b/include/linux/memcontrol.h
> index d35390f9892a..0651865a4564 100644
> --- a/include/linux/memcontrol.h
> +++ b/include/linux/memcontrol.h
> @@ -1452,16 +1452,6 @@ struct slabobj_ext {
>   #endif
>   } __aligned(8);
>   
> -static inline void inc_lruvec_kmem_state(void *p, enum node_stat_item idx)
> -{
> -	mod_lruvec_kmem_state(p, idx, 1);
> -}
> -
> -static inline void dec_lruvec_kmem_state(void *p, enum node_stat_item idx)
> -{
> -	mod_lruvec_kmem_state(p, idx, -1);
> -}
> -
>   static inline struct lruvec *parent_lruvec(struct lruvec *lruvec)
>   {
>   	struct mem_cgroup *memcg;
> diff --git a/mm/workingset.c b/mm/workingset.c
> index 892f6fe94ea9..e9f05634747a 100644
> --- a/mm/workingset.c
> +++ b/mm/workingset.c
> @@ -749,7 +749,7 @@ static enum lru_status shadow_lru_isolate(struct list_head *item,
>   	if (WARN_ON_ONCE(node->count != node->nr_values))
>   		goto out_invalid;
>   	xa_delete_node(node, workingset_update_node);
> -	inc_lruvec_kmem_state(node, WORKINGSET_NODERECLAIM);
> +	mod_lruvec_kmem_state(node, WORKINGSET_NODERECLAIM, 1);
>   
>   out_invalid:
>   	xa_unlock_irq(&mapping->i_pages);