diff options
author | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2010-06-02 19:21:38 -0400 |
---|---|---|
committer | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2010-08-19 20:18:02 -0400 |
commit | b163760e37047781b37c412cde54d146ac4b651f (patch) | |
tree | 5b447a210c81b78e20393472f4b53623c8fed28b | |
parent | 4221a9918e38b7494cee341dda7b7b4bb8c04bde (diff) |
rcu: make CPU stall warning timeout configurable
Also set the default to 60 seconds, up from the previous hard-coded timeout
of 10 seconds. This allows people who care to set short timeouts, while
avoiding people with unusual configurations (make randconfig!!!) from being
bothered with spurious CPU stall warnings.
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Reviewed-by: Josh Triplett <josh@joshtriplett.org>
-rw-r--r-- | kernel/rcutree.h | 5 | ||||
-rw-r--r-- | lib/Kconfig.debug | 11 |
2 files changed, 14 insertions, 2 deletions
diff --git a/kernel/rcutree.h b/kernel/rcutree.h index 5ce197e87792..183ebf405315 100644 --- a/kernel/rcutree.h +++ b/kernel/rcutree.h | |||
@@ -254,9 +254,10 @@ struct rcu_data { | |||
254 | #define RCU_STALL_DELAY_DELTA 0 | 254 | #define RCU_STALL_DELAY_DELTA 0 |
255 | #endif | 255 | #endif |
256 | 256 | ||
257 | #define RCU_SECONDS_TILL_STALL_CHECK (10 * HZ + RCU_STALL_DELAY_DELTA) | 257 | #define RCU_SECONDS_TILL_STALL_CHECK (CONFIG_RCU_CPU_STALL_TIMEOUT * HZ + \ |
258 | RCU_STALL_DELAY_DELTA) | ||
258 | /* for rsp->jiffies_stall */ | 259 | /* for rsp->jiffies_stall */ |
259 | #define RCU_SECONDS_TILL_STALL_RECHECK (30 * HZ + RCU_STALL_DELAY_DELTA) | 260 | #define RCU_SECONDS_TILL_STALL_RECHECK (3 * RCU_SECONDS_TILL_STALL_CHECK + 30) |
260 | /* for rsp->jiffies_stall */ | 261 | /* for rsp->jiffies_stall */ |
261 | #define RCU_STALL_RAT_DELAY 2 /* Allow other CPUs time */ | 262 | #define RCU_STALL_RAT_DELAY 2 /* Allow other CPUs time */ |
262 | /* to take at least one */ | 263 | /* to take at least one */ |
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug index 12465f2ef766..b5005b762103 100644 --- a/lib/Kconfig.debug +++ b/lib/Kconfig.debug | |||
@@ -845,6 +845,17 @@ config RCU_CPU_STALL_DETECTOR | |||
845 | 845 | ||
846 | Say Y if you are unsure. | 846 | Say Y if you are unsure. |
847 | 847 | ||
848 | config RCU_CPU_STALL_TIMEOUT | ||
849 | int "RCU CPU stall timeout in seconds" | ||
850 | depends on RCU_CPU_STALL_DETECTOR | ||
851 | range 3 300 | ||
852 | default 60 | ||
853 | help | ||
854 | If a given RCU grace period extends more than the specified | ||
855 | number of seconds, a CPU stall warning is printed. If the | ||
856 | RCU grace period persists, additional CPU stall warnings are | ||
857 | printed at more widely spaced intervals. | ||
858 | |||
848 | config RCU_CPU_STALL_VERBOSE | 859 | config RCU_CPU_STALL_VERBOSE |
849 | bool "Print additional per-task information for RCU_CPU_STALL_DETECTOR" | 860 | bool "Print additional per-task information for RCU_CPU_STALL_DETECTOR" |
850 | depends on RCU_CPU_STALL_DETECTOR && TREE_PREEMPT_RCU | 861 | depends on RCU_CPU_STALL_DETECTOR && TREE_PREEMPT_RCU |