aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/rcutree_plugin.h
diff options
context:
space:
mode:
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>2010-08-10 17:28:53 -0400
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>2010-08-20 12:00:12 -0400
commit53d84e004d5e8c018be395c4330dc72fd60bd13e (patch)
tree6d5b265442ac42c7cc73147b0de0d029644e312b /kernel/rcutree_plugin.h
parent8cdd32a918350430483751feaae1c19cef816f69 (diff)
rcu: permit suppressing current grace period's CPU stall warnings
When using a kernel debugger, a long sojourn in the debugger can get you lots of RCU CPU stall warnings once you resume. This might not be helpful, especially if you are using the system console. This patch therefore allows RCU CPU stall warnings to be suppressed, but only for the duration of the current set of grace periods. This differs from Jason's original patch in that it adds support for tiny RCU and preemptible RCU, and uses a slightly different method for suppressing the RCU CPU stall warning messages. Signed-off-by: Jason Wessel <jason.wessel@windriver.com> Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com> Tested-by: Jason Wessel <jason.wessel@windriver.com>
Diffstat (limited to 'kernel/rcutree_plugin.h')
-rw-r--r--kernel/rcutree_plugin.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/kernel/rcutree_plugin.h b/kernel/rcutree_plugin.h
index 63bb7714fdeb..561410f70d4a 100644
--- a/kernel/rcutree_plugin.h
+++ b/kernel/rcutree_plugin.h
@@ -417,6 +417,16 @@ static void rcu_print_task_stall(struct rcu_node *rnp)
417 } 417 }
418} 418}
419 419
420/*
421 * Suppress preemptible RCU's CPU stall warnings by pushing the
422 * time of the next stall-warning message comfortably far into the
423 * future.
424 */
425static void rcu_preempt_stall_reset(void)
426{
427 rcu_preempt_state.jiffies_stall = jiffies + ULONG_MAX / 2;
428}
429
420#endif /* #ifdef CONFIG_RCU_CPU_STALL_DETECTOR */ 430#endif /* #ifdef CONFIG_RCU_CPU_STALL_DETECTOR */
421 431
422/* 432/*
@@ -867,6 +877,14 @@ static void rcu_print_task_stall(struct rcu_node *rnp)
867{ 877{
868} 878}
869 879
880/*
881 * Because preemptible RCU does not exist, there is no need to suppress
882 * its CPU stall warnings.
883 */
884static void rcu_preempt_stall_reset(void)
885{
886}
887
870#endif /* #ifdef CONFIG_RCU_CPU_STALL_DETECTOR */ 888#endif /* #ifdef CONFIG_RCU_CPU_STALL_DETECTOR */
871 889
872/* 890/*