Re: [PATCH 0/4] memcg: cleanup the memcg stats interfaces
From: Harry Yoo
Date: Mon Nov 10 2025 - 20:03:27 EST
On Mon, Nov 10, 2025 at 03:20:04PM -0800, Shakeel Butt wrote:
> The memcg stats are safe against irq (and nmi) context and thus does not
> require disabling irqs. However for some stats which are also maintained
> at node level, it is using irq unsafe interface and thus requiring the
> users to still disables irqs or use interfaces which explicitly disables
> irqs. Let's move memcg code to use irq safe node level stats function
> which is already optimized for architectures with HAVE_CMPXCHG_LOCAL
> (all major ones), so there will not be any performance penalty for its
> usage.
Are you or Qi planning a follow-up that converts spin_lock_irq() to
spin_lock() in places where they disabled IRQs was just to update vmstat?
Qi's zombie memcg series will depends on that work I guess..
--
Cheers,
Harry / Hyeonggon
> Shakeel Butt (4):
> memcg: use mod_node_page_state to update stats
> memcg: remove __mod_lruvec_kmem_state
> memcg: remove __mod_lruvec_state
> memcg: remove __lruvec_stat_mod_folio
>
> include/linux/memcontrol.h | 28 ++++------------------
> include/linux/mm_inline.h | 2 +-
> include/linux/vmstat.h | 48 ++------------------------------------
> mm/filemap.c | 20 ++++++++--------
> mm/huge_memory.c | 4 ++--
> mm/khugepaged.c | 8 +++----
> mm/memcontrol.c | 20 ++++++++--------
> mm/migrate.c | 20 ++++++++--------
> mm/page-writeback.c | 2 +-
> mm/rmap.c | 4 ++--
> mm/shmem.c | 6 ++---
> mm/vmscan.c | 4 ++--
> mm/workingset.c | 2 +-
> 13 files changed, 53 insertions(+), 115 deletions(-)
>
> --
> 2.47.3
>