[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250730022347.71722-1-yuzhuo@google.com>
Date: Tue, 29 Jul 2025 19:23:43 -0700
From: Yuzhuo Jing <yuzhuo@...gle.com>
To: Ian Rogers <irogers@...gle.com>, Yuzhuo Jing <yzj@...ch.edu>, Jonathan Corbet <corbet@....net>,
Davidlohr Bueso <dave@...olabs.net>, "Paul E . McKenney" <paulmck@...nel.org>,
Josh Triplett <josh@...htriplett.org>, Frederic Weisbecker <frederic@...nel.org>,
Neeraj Upadhyay <neeraj.upadhyay@...nel.org>, Joel Fernandes <joelagnelf@...dia.com>,
Boqun Feng <boqun.feng@...il.com>, Uladzislau Rezki <urezki@...il.com>,
Steven Rostedt <rostedt@...dmis.org>, Mathieu Desnoyers <mathieu.desnoyers@...icios.com>,
Lai Jiangshan <jiangshanlai@...il.com>, Zqiang <qiang.zhang@...ux.dev>,
Andrew Morton <akpm@...ux-foundation.org>, Ingo Molnar <mingo@...nel.org>,
Borislav Petkov <bp@...en8.de>, Arnd Bergmann <arnd@...db.de>, Frank van der Linden <fvdl@...gle.com>,
linux-doc@...r.kernel.org, linux-kernel@...r.kernel.org, rcu@...r.kernel.org
Cc: Yuzhuo Jing <yuzhuo@...gle.com>
Subject: [PATCH v1 0/4] rcuscale: Add debugfs file based controls and CPU
affinity offset
In an effort to add RCU benchmarks to the perf tool and to improve
the base-metal rcuscale tests, this patch series adds several auxiliary
features useful for testing tools.
This series introduces a few rcuscale options:
* writer_no_print: skip writer duration printing during shutdown, but
instead let users read from the new "writer_durations" debugfs file.
This drastically improves cleanup speed.
* block_start: an option to hold all worker thread until the new
debugfs "should_start" file is written.
* {reader,writer,kfree}_cpu_offset: the starting value of CPU affinity
for each type of threads. This can be used to avoid scheduling
different types of threads on the same CPU. The 4th patch in this
series shows drastic performance differences w/ and w/o overlaps.
This patch series creates an "rcuscale" folder in debugfs, containing
the following files:
* writer_durations: a CSV formatted file containing writer id and
writer durations.
* {reader,writer,kfree}_tasks: the list of kernel task PIDs for
external tools to attach to.
* should_start: a writable file to signal the start of the experiment,
used in conjunction with the new "block_start" option.
* test_complete: a readable file to indicate whether the experiment has
finished or not.
RFCs:
* Should those new files reside in debugfs or in procfs?
* What format should be used for the writer_duartions file, and what
documentations should be updated for the file format definition?
* In the 4th patch, we see different characteristics between overlap
and non-overlap. Current rcuscale creates nr_cpu readers and nr_cpu
writers, thus scheduling 2nr_cpu tasks on nr_cpu CPUs. Should we
consider changes to this behavior? Or add automatic conflict
resolutions when total threads <= nr_cpu.
Thank you!
Yuzhuo Jing (4):
rcuscale: Create debugfs file for writer durations
rcuscale: Create debugfs files for worker thread PIDs
rcuscale: Add file based start/finish control
rcuscale: Add CPU affinity offset options
.../admin-guide/kernel-parameters.txt | 29 ++
kernel/rcu/rcuscale.c | 361 +++++++++++++++++-
2 files changed, 377 insertions(+), 13 deletions(-)
--
2.50.1.552.g942d659e1b-goog
Powered by blists - more mailing lists