summaryrefslogtreecommitdiffstats
path: root/kernel/rcu/tree.h
diff options
context:
space:
mode:
authorPaul E. McKenney <paulmck@kernel.org>2022-02-23 17:29:37 -0800
committerPaul E. McKenney <paulmck@kernel.org>2022-04-11 17:28:48 -0700
commitc708b08c65a0dfae127b9ee33b0fb73535a5e066 (patch)
tree3dc0ab8b7a448ab78d1c27fb11933e757e6dbc56 /kernel/rcu/tree.h
parent90d2efe7bdbde5371b6122174af0718843f805c6 (diff)
downloadlinux-stable-c708b08c65a0dfae127b9ee33b0fb73535a5e066.tar.gz
linux-stable-c708b08c65a0dfae127b9ee33b0fb73535a5e066.tar.bz2
linux-stable-c708b08c65a0dfae127b9ee33b0fb73535a5e066.zip
rcu: Check for jiffies going backwards
A report of a 12-jiffy normal RCU CPU stall warning raises interesting questions about the nature of time on the offending system. This commit instruments rcu_sched_clock_irq(), which is RCU's hook into the scheduling-clock interrupt, checking for the jiffies counter going backwards. Reported-by: Saravanan D <sarvanand@fb.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
Diffstat (limited to 'kernel/rcu/tree.h')
-rw-r--r--kernel/rcu/tree.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/kernel/rcu/tree.h b/kernel/rcu/tree.h
index 926673ebe355..94b55f669915 100644
--- a/kernel/rcu/tree.h
+++ b/kernel/rcu/tree.h
@@ -254,6 +254,7 @@ struct rcu_data {
unsigned long rcu_onl_gp_seq; /* ->gp_seq at last online. */
short rcu_onl_gp_flags; /* ->gp_flags at last online. */
unsigned long last_fqs_resched; /* Time of last rcu_resched(). */
+ unsigned long last_sched_clock; /* Jiffies of last rcu_sched_clock_irq(). */
int cpu;
};