From: "Paul E. McKenney" <paulmck@kernel.org>
To: ast@kernel.org
Cc: rcu@vger.kernel.org, linux-kernel@vger.kernel.org,
mingo@kernel.org, tglx@linutronix.de, daniel@iogearbox.net,
jolsa@redhat.com, bpf@vger.kernel.org, kernel-team@fb.com
Subject: [GIT PULL rcu-tasks-trace] 50x speedup for synchronize_rcu_tasks_trace()
Date: Tue, 22 Sep 2020 09:25:42 -0700 [thread overview]
Message-ID: <20200922162542.GA18664@paulmck-ThinkPad-P72> (raw)
Hello, Alexei,
This pull request contains eight commits that speed up RCU Tasks Trace
grace periods by a factor of 50, fix a few race conditions exposed
by this speedup, and clean up a couple of minor issues. These have
been exposed to 0day and -next testing, and have passed well over 1,000
hours of rcutorture testing, some of which has contained ad-hoc changes
to further increase race probabilities. So they should be solid!
(Famous last words...)
I would normally have sent this series up through -tip, but as we
discussed, going up through the BFP and networking trees provides the
needed exposure to real-world testing of these changes. Please note
that the first patch is already in mainline, but given identical SHA-1
commit IDs, git should have no problem figuring this out. I will also
be retaining these commits in -rcu in order to continue exposing them
to rcutorture testing, but again the identical SHA-1 commit IDs will
make everything work out.
The fact that these commits will reside in multiple trees is of course
what motivates inclusion of the otherwise unrelated minor-issue cleanups.
Including these cleanups allows all the various trees to keep synchronized
SHA-1 commit IDs. And so, without further ado:
The following changes since commit 9123e3a74ec7b934a4a099e98af6a61c2f80bbf5:
Linux 5.9-rc1 (2020-08-16 13:04:57 -0700)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git rtt-speedup.2020.09.16a
for you to fetch changes up to f747c7e15d7bc71a967a94ceda686cf2460b69e8:
rcu-tasks: Enclose task-list scan in rcu_read_lock() (2020-09-16 16:32:38 -0700)
----------------------------------------------------------------
Paul E. McKenney (8):
rcu-tasks: Prevent complaints of unused show_rcu_tasks_classic_gp_kthread()
rcu-tasks: Mark variables static
rcu-tasks: Use more aggressive polling for RCU Tasks Trace
rcu-tasks: Selectively enable more RCU Tasks Trace IPIs
rcu-tasks: Shorten per-grace-period sleep for RCU Tasks Trace
rcu-tasks: Fix grace-period/unlock race in RCU Tasks Trace
rcu-tasks: Fix low-probability task_struct leak
rcu-tasks: Enclose task-list scan in rcu_read_lock()
include/linux/rcupdate_trace.h | 4 +++
kernel/rcu/tasks.h | 55 ++++++++++++++++++++++++++++++++----------
2 files changed, 46 insertions(+), 13 deletions(-)
next reply other threads:[~2020-09-22 16:25 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-09-22 16:25 Paul E. McKenney [this message]
2020-09-24 2:46 ` [GIT PULL rcu-tasks-trace] 50x speedup for synchronize_rcu_tasks_trace() Alexei Starovoitov
2020-09-24 4:29 ` Paul E. McKenney
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=20200922162542.GA18664@paulmck-ThinkPad-P72 \
--to=paulmck@kernel.org \
--cc=ast@kernel.org \
--cc=bpf@vger.kernel.org \
--cc=daniel@iogearbox.net \
--cc=jolsa@redhat.com \
--cc=kernel-team@fb.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=rcu@vger.kernel.org \
--cc=tglx@linutronix.de \
/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