From: Ridong Chen <ridong.chen@linux.dev>
To: Steven Rostedt <rostedt@goodmis.org>,
Masami Hiramatsu <mhiramat@kernel.org>,
Johannes Weiner <hannes@cmpxchg.org>,
Michal Hocko <mhocko@kernel.org>,
Roman Gushchin <roman.gushchin@linux.dev>,
Shakeel Butt <shakeel.butt@linux.dev>,
Andrew Morton <akpm@linux-foundation.org>,
Dave Chinner <david@fromorbit.com>
Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>,
Muchun Song <muchun.song@linux.dev>,
Qi Zheng <qi.zheng@linux.dev>, Kairui Song <kasong@tencent.com>,
Barry Song <baohua@kernel.org>,
Axel Rasmussen <axelrasmussen@google.com>,
Yuanchu Xie <yuanchu@google.com>, Wei Xu <weixugc@google.com>,
Baoquan He <baoquan.he@linux.dev>,
Baolin Wang <baolin.wang@linux.alibaba.com>,
David Hildenbrand <david@kernel.org>,
Lorenzo Stoakes <ljs@kernel.org>,
linux-kernel@vger.kernel.org, linux-trace-kernel@vger.kernel.org,
cgroups@vger.kernel.org (open list:CONTROL GROUP - MEMORY
RESOURCE CONTROLLER (MEMCG)),
linux-mm@kvack.org (open list:CONTROL GROUP - MEMORY RESOURCE
CONTROLLER (MEMCG)), Ridong Chen <ridong.chen@linux.dev>,
Ridong Chen <chenridong@xiaomi.com>
Subject: [PATCH RFC 0/4] mm/vmscan: move vmscan tracepoints to a local header
Date: Mon, 21 Sep 2026 19:46:02 +0800 [thread overview]
Message-ID: <20260921114606.3871820-1-ridong.chen@linux.dev> (raw)
From: Ridong Chen <chenridong@xiaomi.com>
Background:
This series started as an effort to add two tracepoints for MGLRU. In the
discussion, Steven suggested moving include/trace/events/vmscan.h to
mm/trace_vmscan.h [1], as several other subsystems already do. Once the
header lives under mm/, struct scan_control can be moved there too, letting
the trace events access its fields directly instead of having each callsite
copy the scalars out by hand.
The series builds in four small steps:
1) drop the now-unused vmscan trace include from memcontrol.c;
2) move include/trace/events/vmscan.h to mm/trace_vmscan.h, using a
relative TRACE_INCLUDE_PATH so no Makefile change is needed;
3) move struct scan_control into that header, guarded against the
multi-read that define_trace.h performs;
4) pass scan_control to the reclaim-begin tracepoints and pick the
fields out in TP_fast_assign.
There is no functional change and no ABI change: TP_STRUCT__entry and
TP_printk are untouched, so the exported event format is identical. This
was confirmed by diffing the tracefs format files before and after, and
by capturing the direct/memcg/node reclaim-begin events under load in a
QEMU guest (order, gfp_flags and memcg_id all match).
This RFC only converts the three reclaim-begin tracepoints
(direct/memcg/node) to take a scan_control pointer as a first,
self-contained step. Other vmscan tracepoints that currently spell out
individual sc->... fields can be converted the same way once the approach
is agreed upon;
[1] https://lore.kernel.org/linux-mm/20260916095122.50cbb620@robin/
Ridong Chen (4):
mm/memcontrol: drop unused vmscan tracepoint include
mm/vmscan: move vmscan tracepoints to a local header
mm/vmscan: move struct scan_control to the local trace header
mm/vmscan: pass scan_control to the reclaim-begin tracepoints
MAINTAINERS | 2 +
mm/memcontrol.c | 2 -
mm/shrinker.c | 2 +-
.../events/vmscan.h => mm/trace_vmscan.h | 143 ++++++++++++++++--
mm/vmscan.c | 117 +-------------
5 files changed, 138 insertions(+), 128 deletions(-)
rename include/trace/events/vmscan.h => mm/trace_vmscan.h (81%)
--
2.34.1
next reply other threads:[~2026-09-21 11:46 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-21 11:46 Ridong Chen [this message]
2026-09-21 11:46 ` [PATCH RFC 1/4] mm/memcontrol: drop unused vmscan tracepoint include Ridong Chen
2026-09-21 11:46 ` [PATCH RFC 2/4] mm/vmscan: move vmscan tracepoints to a local header Ridong Chen
2026-09-21 11:46 ` [PATCH RFC 3/4] mm/vmscan: move struct scan_control to the local trace header Ridong Chen
2026-09-22 2:24 ` Baoquan He
2026-09-22 2:37 ` Ridong Chen
2026-09-21 11:46 ` [PATCH RFC 4/4] mm/vmscan: pass scan_control to the reclaim-begin tracepoints Ridong Chen
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=20260921114606.3871820-1-ridong.chen@linux.dev \
--to=ridong.chen@linux.dev \
--cc=akpm@linux-foundation.org \
--cc=axelrasmussen@google.com \
--cc=baohua@kernel.org \
--cc=baolin.wang@linux.alibaba.com \
--cc=baoquan.he@linux.dev \
--cc=cgroups@vger.kernel.org \
--cc=chenridong@xiaomi.com \
--cc=david@fromorbit.com \
--cc=david@kernel.org \
--cc=hannes@cmpxchg.org \
--cc=kasong@tencent.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=linux-trace-kernel@vger.kernel.org \
--cc=ljs@kernel.org \
--cc=mathieu.desnoyers@efficios.com \
--cc=mhiramat@kernel.org \
--cc=mhocko@kernel.org \
--cc=muchun.song@linux.dev \
--cc=qi.zheng@linux.dev \
--cc=roman.gushchin@linux.dev \
--cc=rostedt@goodmis.org \
--cc=shakeel.butt@linux.dev \
--cc=weixugc@google.com \
--cc=yuanchu@google.com \
/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
all inboxes | Powered by JetHome®