|
|
Subscribe / Log in / New account

memcg: make memcg stats irq safe

From:  Shakeel Butt <shakeel.butt-AT-linux.dev>
To:  Andrew Morton <akpm-AT-linux-foundation.org>
Subject:  [RFC PATCH 0/7] memcg: make memcg stats irq safe
Date:  Mon, 12 May 2025 20:13:09 -0700
Message-ID:  <20250513031316.2147548-1-shakeel.butt@linux.dev>
Cc:  Johannes Weiner <hannes-AT-cmpxchg.org>, Michal Hocko <mhocko-AT-kernel.org>, Roman Gushchin <roman.gushchin-AT-linux.dev>, Muchun Song <muchun.song-AT-linux.dev>, Vlastimil Babka <vbabka-AT-suse.cz>, Alexei Starovoitov <ast-AT-kernel.org>, Sebastian Andrzej Siewior <bigeasy-AT-linutronix.de>, Harry Yoo <harry.yoo-AT-oracle.com>, Yosry Ahmed <yosry.ahmed-AT-linux.dev>, bpf-AT-vger.kernel.org, linux-mm-AT-kvack.org, cgroups-AT-vger.kernel.org, linux-kernel-AT-vger.kernel.org, Meta kernel team <kernel-team-AT-meta.com>
Archive-link:  Article

This series converts memcg stats to be irq safe i.e. memcg stats can be
updated in any context (task, softirq or hardirq) without disabling the
irqs.

This is still an RFC as I am not satisfied with the usage of atomic_*
ops in memcg_rstat_updated(). Second I still need to run performance
benchmarks (any suggestions/recommendations would be appreciated).
Sending this out early to get feedback.

This is based on latest mm-everything branch along with the nmi-safe
memcg series [1].

Link: http://lore.kernel.org/20250509232859.657525-1-shakeel.bu...

Shakeel Butt (7):
  memcg: memcg_rstat_updated re-entrant safe against irqs
  memcg: move preempt disable to callers of memcg_rstat_updated
  memcg: make mod_memcg_state re-entrant safe against irqs
  memcg: make count_memcg_events re-entrant safe against irqs
  memcg: make __mod_memcg_lruvec_state re-entrant safe against irqs
  memcg: objcg stock trylock without irq disabling
  memcg: no stock lock for cpu hot-unplug

 include/linux/memcontrol.h |  41 +--------
 mm/memcontrol-v1.c         |   6 +-
 mm/memcontrol.c            | 167 +++++++++++++++----------------------
 mm/swap.c                  |   8 +-
 mm/vmscan.c                |  14 ++--
 5 files changed, 85 insertions(+), 151 deletions(-)

-- 
2.47.1




Copyright © 2025, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds