|
@@ -605,61 +605,6 @@ config PROVE_LOCKING
|
|
|
|
|
|
For more details, see Documentation/lockdep-design.txt.
|
|
|
|
|
|
-config PROVE_RCU
|
|
|
- bool "RCU debugging: prove RCU correctness"
|
|
|
- depends on PROVE_LOCKING
|
|
|
- default n
|
|
|
- help
|
|
|
- This feature enables lockdep extensions that check for correct
|
|
|
- use of RCU APIs. This is currently under development. Say Y
|
|
|
- if you want to debug RCU usage or help work on the PROVE_RCU
|
|
|
- feature.
|
|
|
-
|
|
|
- Say N if you are unsure.
|
|
|
-
|
|
|
-config PROVE_RCU_REPEATEDLY
|
|
|
- bool "RCU debugging: don't disable PROVE_RCU on first splat"
|
|
|
- depends on PROVE_RCU
|
|
|
- default n
|
|
|
- help
|
|
|
- By itself, PROVE_RCU will disable checking upon issuing the
|
|
|
- first warning (or "splat"). This feature prevents such
|
|
|
- disabling, allowing multiple RCU-lockdep warnings to be printed
|
|
|
- on a single reboot.
|
|
|
-
|
|
|
- Say Y to allow multiple RCU-lockdep warnings per boot.
|
|
|
-
|
|
|
- Say N if you are unsure.
|
|
|
-
|
|
|
-config PROVE_RCU_DELAY
|
|
|
- bool "RCU debugging: preemptible RCU race provocation"
|
|
|
- depends on DEBUG_KERNEL && PREEMPT_RCU
|
|
|
- default n
|
|
|
- help
|
|
|
- There is a class of races that involve an unlikely preemption
|
|
|
- of __rcu_read_unlock() just after ->rcu_read_lock_nesting has
|
|
|
- been set to INT_MIN. This feature inserts a delay at that
|
|
|
- point to increase the probability of these races.
|
|
|
-
|
|
|
- Say Y to increase probability of preemption of __rcu_read_unlock().
|
|
|
-
|
|
|
- Say N if you are unsure.
|
|
|
-
|
|
|
-config SPARSE_RCU_POINTER
|
|
|
- bool "RCU debugging: sparse-based checks for pointer usage"
|
|
|
- default n
|
|
|
- help
|
|
|
- This feature enables the __rcu sparse annotation for
|
|
|
- RCU-protected pointers. This annotation will cause sparse
|
|
|
- to flag any non-RCU used of annotated pointers. This can be
|
|
|
- helpful when debugging RCU usage. Please note that this feature
|
|
|
- is not intended to enforce code cleanliness; it is instead merely
|
|
|
- a debugging aid.
|
|
|
-
|
|
|
- Say Y to make sparse flag questionable use of RCU-protected pointers
|
|
|
-
|
|
|
- Say N if you are unsure.
|
|
|
-
|
|
|
config LOCKDEP
|
|
|
bool
|
|
|
depends on DEBUG_KERNEL && TRACE_IRQFLAGS_SUPPORT && STACKTRACE_SUPPORT && LOCKDEP_SUPPORT
|
|
@@ -937,6 +882,63 @@ config BOOT_PRINTK_DELAY
|
|
|
BOOT_PRINTK_DELAY also may cause LOCKUP_DETECTOR to detect
|
|
|
what it believes to be lockup conditions.
|
|
|
|
|
|
+menu "RCU Debugging"
|
|
|
+
|
|
|
+config PROVE_RCU
|
|
|
+ bool "RCU debugging: prove RCU correctness"
|
|
|
+ depends on PROVE_LOCKING
|
|
|
+ default n
|
|
|
+ help
|
|
|
+ This feature enables lockdep extensions that check for correct
|
|
|
+ use of RCU APIs. This is currently under development. Say Y
|
|
|
+ if you want to debug RCU usage or help work on the PROVE_RCU
|
|
|
+ feature.
|
|
|
+
|
|
|
+ Say N if you are unsure.
|
|
|
+
|
|
|
+config PROVE_RCU_REPEATEDLY
|
|
|
+ bool "RCU debugging: don't disable PROVE_RCU on first splat"
|
|
|
+ depends on PROVE_RCU
|
|
|
+ default n
|
|
|
+ help
|
|
|
+ By itself, PROVE_RCU will disable checking upon issuing the
|
|
|
+ first warning (or "splat"). This feature prevents such
|
|
|
+ disabling, allowing multiple RCU-lockdep warnings to be printed
|
|
|
+ on a single reboot.
|
|
|
+
|
|
|
+ Say Y to allow multiple RCU-lockdep warnings per boot.
|
|
|
+
|
|
|
+ Say N if you are unsure.
|
|
|
+
|
|
|
+config PROVE_RCU_DELAY
|
|
|
+ bool "RCU debugging: preemptible RCU race provocation"
|
|
|
+ depends on DEBUG_KERNEL && PREEMPT_RCU
|
|
|
+ default n
|
|
|
+ help
|
|
|
+ There is a class of races that involve an unlikely preemption
|
|
|
+ of __rcu_read_unlock() just after ->rcu_read_lock_nesting has
|
|
|
+ been set to INT_MIN. This feature inserts a delay at that
|
|
|
+ point to increase the probability of these races.
|
|
|
+
|
|
|
+ Say Y to increase probability of preemption of __rcu_read_unlock().
|
|
|
+
|
|
|
+ Say N if you are unsure.
|
|
|
+
|
|
|
+config SPARSE_RCU_POINTER
|
|
|
+ bool "RCU debugging: sparse-based checks for pointer usage"
|
|
|
+ default n
|
|
|
+ help
|
|
|
+ This feature enables the __rcu sparse annotation for
|
|
|
+ RCU-protected pointers. This annotation will cause sparse
|
|
|
+ to flag any non-RCU used of annotated pointers. This can be
|
|
|
+ helpful when debugging RCU usage. Please note that this feature
|
|
|
+ is not intended to enforce code cleanliness; it is instead merely
|
|
|
+ a debugging aid.
|
|
|
+
|
|
|
+ Say Y to make sparse flag questionable use of RCU-protected pointers
|
|
|
+
|
|
|
+ Say N if you are unsure.
|
|
|
+
|
|
|
config RCU_TORTURE_TEST
|
|
|
tristate "torture tests for RCU"
|
|
|
depends on DEBUG_KERNEL
|
|
@@ -1015,6 +1017,8 @@ config RCU_TRACE
|
|
|
Say Y here if you want to enable RCU tracing
|
|
|
Say N if you are unsure.
|
|
|
|
|
|
+endmenu # "RCU Debugging"
|
|
|
+
|
|
|
config KPROBES_SANITY_TEST
|
|
|
bool "Kprobes sanity tests"
|
|
|
depends on DEBUG_KERNEL
|