From: Shakeel Butt <shakeel.butt@linux.dev>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: Johannes Weiner <hannes@cmpxchg.org>,
Michal Hocko <mhocko@kernel.org>,
Roman Gushchin <roman.gushchin@linux.dev>,
Muchun Song <muchun.song@linux.dev>,
Vlastimil Babka <vbabka@suse.cz>,
Alexei Starovoitov <ast@kernel.org>,
Sebastian Andrzej Siewior <bigeasy@linutronix.de>,
Harry Yoo <harry.yoo@oracle.com>,
Yosry Ahmed <yosry.ahmed@linux.dev>,
bpf@vger.kernel.org, linux-mm@kvack.org, cgroups@vger.kernel.org,
linux-kernel@vger.kernel.org,
Meta kernel team <kernel-team@meta.com>
Subject: [RFC PATCH 0/7] memcg: make memcg stats irq safe
Date: Mon, 12 May 2025 20:13:09 -0700 [thread overview]
Message-ID: <20250513031316.2147548-1-shakeel.butt@linux.dev> (raw)
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.butt@linux.dev
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
next reply other threads:[~2025-05-13 3:13 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-05-13 3:13 Shakeel Butt [this message]
2025-05-13 3:13 ` [RFC PATCH 1/7] memcg: memcg_rstat_updated re-entrant safe against irqs Shakeel Butt
2025-05-13 10:22 ` Vlastimil Babka
2025-05-13 18:09 ` Shakeel Butt
2025-05-13 3:13 ` [RFC PATCH 2/7] memcg: move preempt disable to callers of memcg_rstat_updated Shakeel Butt
2025-05-13 10:34 ` Vlastimil Babka
2025-05-13 3:13 ` [RFC PATCH 3/7] memcg: make mod_memcg_state re-entrant safe against irqs Shakeel Butt
2025-05-13 10:38 ` Vlastimil Babka
2025-05-13 3:13 ` [RFC PATCH 4/7] memcg: make count_memcg_events " Shakeel Butt
2025-05-13 10:39 ` Vlastimil Babka
2025-05-13 3:13 ` [RFC PATCH 5/7] memcg: make __mod_memcg_lruvec_state " Shakeel Butt
2025-05-13 10:40 ` Vlastimil Babka
2025-05-13 3:13 ` [RFC PATCH 6/7] memcg: objcg stock trylock without irq disabling Shakeel Butt
2025-05-13 13:05 ` Vlastimil Babka
2025-05-13 3:13 ` [RFC PATCH 7/7] memcg: no stock lock for cpu hot-unplug Shakeel Butt
2025-05-13 13:10 ` Vlastimil Babka
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250513031316.2147548-1-shakeel.butt@linux.dev \
--to=shakeel.butt@linux.dev \
--cc=akpm@linux-foundation.org \
--cc=ast@kernel.org \
--cc=bigeasy@linutronix.de \
--cc=bpf@vger.kernel.org \
--cc=cgroups@vger.kernel.org \
--cc=hannes@cmpxchg.org \
--cc=harry.yoo@oracle.com \
--cc=kernel-team@meta.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mhocko@kernel.org \
--cc=muchun.song@linux.dev \
--cc=roman.gushchin@linux.dev \
--cc=vbabka@suse.cz \
--cc=yosry.ahmed@linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).