From: "Paul E. McKenney" <paulmck@kernel.org>
To: rcu@vger.kernel.org
Cc: linux-kernel@vger.kernel.org, kernel-team@meta.com,
rostedt@goodmis.org, Zqiang <qiang1.zhang@intel.com>,
"Paul E . McKenney" <paulmck@kernel.org>
Subject: [PATCH rcu 1/6] rcu-tasks: Use accurate runstart time for RCU Tasks boot-time testing
Date: Wed, 4 Jan 2023 16:44:49 -0800 [thread overview]
Message-ID: <20230105004501.1771332-1-paulmck@kernel.org> (raw)
In-Reply-To: <20230105004454.GA1771168@paulmck-ThinkPad-P17-Gen-1>
From: Zqiang <qiang1.zhang@intel.com>
Currently, test_rcu_tasks_callback() reads from the jiffies counter only
once when this function is invoked. This introduces inaccuracies because
of the latencies induced by the synchronize_rcu_tasks*() invocations.
This commit therefore re-reads the jiffies counter at the beginning
of each test, thus avoiding penalizing later tests for the latencies
induced by earlier tests.
Therefore, this commit at the start of each RCU Tasks test, re-fetch the
jiffies time as the runstart time.
Signed-off-by: Zqiang <qiang1.zhang@intel.com>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
---
kernel/rcu/tasks.h | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/kernel/rcu/tasks.h b/kernel/rcu/tasks.h
index fe9840d90e960..c418aa1c038a9 100644
--- a/kernel/rcu/tasks.h
+++ b/kernel/rcu/tasks.h
@@ -1815,23 +1815,21 @@ static void test_rcu_tasks_callback(struct rcu_head *rhp)
static void rcu_tasks_initiate_self_tests(void)
{
- unsigned long j = jiffies;
-
pr_info("Running RCU-tasks wait API self tests\n");
#ifdef CONFIG_TASKS_RCU
- tests[0].runstart = j;
+ tests[0].runstart = jiffies;
synchronize_rcu_tasks();
call_rcu_tasks(&tests[0].rh, test_rcu_tasks_callback);
#endif
#ifdef CONFIG_TASKS_RUDE_RCU
- tests[1].runstart = j;
+ tests[1].runstart = jiffies;
synchronize_rcu_tasks_rude();
call_rcu_tasks_rude(&tests[1].rh, test_rcu_tasks_callback);
#endif
#ifdef CONFIG_TASKS_TRACE_RCU
- tests[2].runstart = j;
+ tests[2].runstart = jiffies;
synchronize_rcu_tasks_trace();
call_rcu_tasks_trace(&tests[2].rh, test_rcu_tasks_callback);
#endif
--
2.31.1.189.g2e36527f23
next prev parent reply other threads:[~2023-01-05 0:50 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-01-05 0:44 [PATCH rcu 0/7] Torture-test updates for v6.3 Paul E. McKenney
2023-01-05 0:44 ` Paul E. McKenney [this message]
2023-01-05 0:44 ` [PATCH rcu 1/7] torture: Seed torture_random_state on CPU Paul E. McKenney
2023-01-05 0:44 ` [PATCH rcu 2/6] rcu-tasks: Improve comments explaining tasks_rcu_exit_srcu purpose Paul E. McKenney
2023-01-05 0:44 ` [PATCH rcu 2/7] refscale: Provide for initialization failure Paul E. McKenney
2023-01-05 0:44 ` [PATCH rcu 3/6] rcu-tasks: Remove preemption disablement around srcu_read_[un]lock() calls Paul E. McKenney
2023-01-05 0:44 ` [PATCH rcu 3/7] refscale: Add tests using SLAB_TYPESAFE_BY_RCU Paul E. McKenney
2023-01-05 0:44 ` [PATCH rcu 4/7] locktorture: Allow non-rtmutex lock types to be boosted Paul E. McKenney
2023-01-05 0:44 ` [PATCH rcu 4/6] rcu-tasks: Fix synchronize_rcu_tasks() VS zap_pid_ns_processes() Paul E. McKenney
2023-01-05 0:44 ` [PATCH rcu 5/7] locktorture: Make the rt_boost factor a tunable Paul E. McKenney
2023-01-05 0:44 ` [PATCH rcu 5/6] rcu-tasks: Make rude RCU-Tasks work well with CPU hotplug Paul E. McKenney
2023-01-05 0:44 ` [PATCH rcu 6/6] rcu-tasks: Handle queue-shrink/callback-enqueue race condition Paul E. McKenney
2023-01-05 0:45 ` [PATCH rcu 6/7] rcutorture: Drop sparse lock-acquisition annotations Paul E. McKenney
2023-01-05 0:45 ` [PATCH rcu 7/7] torture: Fix hang during kthread shutdown phase 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=20230105004501.1771332-1-paulmck@kernel.org \
--to=paulmck@kernel.org \
--cc=kernel-team@meta.com \
--cc=linux-kernel@vger.kernel.org \
--cc=qiang1.zhang@intel.com \
--cc=rcu@vger.kernel.org \
--cc=rostedt@goodmis.org \
/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®