aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2010-08-23 05:32:34 -0400
committerIngo Molnar <mingo@elte.hu>2010-08-23 05:32:34 -0400
commita6b9b4d50f492630443b38404d1f436b3b748c14 (patch)
treef3512389c42cecfae50b6a315ec6ab1fa470e30d /lib
parente36c886a0f9d624377977fa6cae309cfd7f362fa (diff)
parent28457ee69c473a903e51e26c7bcd6f1e9eceb93e (diff)
Merge branch 'rcu/next' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-2.6-rcu into core/rcu
Diffstat (limited to 'lib')
-rw-r--r--lib/Kconfig.debug37
-rw-r--r--lib/radix-tree.c2
2 files changed, 38 insertions, 1 deletions
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
index 1b4afd2e6ca0..52c2172dff16 100644
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
@@ -539,6 +539,19 @@ config PROVE_RCU_REPEATEDLY
539 disabling, allowing multiple RCU-lockdep warnings to be printed 539 disabling, allowing multiple RCU-lockdep warnings to be printed
540 on a single reboot. 540 on a single reboot.
541 541
542config SPARSE_RCU_POINTER
543 bool "RCU debugging: sparse-based checks for pointer usage"
544 default n
545 help
546 This feature enables the __rcu sparse annotation for
547 RCU-protected pointers. This annotation will cause sparse
548 to flag any non-RCU used of annotated pointers. This can be
549 helpful when debugging RCU usage. Please note that this feature
550 is not intended to enforce code cleanliness; it is instead merely
551 a debugging aid.
552
553 Say Y to make sparse flag questionable use of RCU-protected pointers
554
542 Say N if you are unsure. 555 Say N if you are unsure.
543 556
544config LOCKDEP 557config LOCKDEP
@@ -832,6 +845,30 @@ config RCU_CPU_STALL_DETECTOR
832 845
833 Say Y if you are unsure. 846 Say Y if you are unsure.
834 847
848config 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
859config RCU_CPU_STALL_DETECTOR_RUNNABLE
860 bool "RCU CPU stall checking starts automatically at boot"
861 depends on RCU_CPU_STALL_DETECTOR
862 default y
863 help
864 If set, start checking for RCU CPU stalls immediately on
865 boot. Otherwise, RCU CPU stall checking must be manually
866 enabled.
867
868 Say Y if you are unsure.
869
870 Say N if you wish to suppress RCU CPU stall checking during boot.
871
835config RCU_CPU_STALL_VERBOSE 872config RCU_CPU_STALL_VERBOSE
836 bool "Print additional per-task information for RCU_CPU_STALL_DETECTOR" 873 bool "Print additional per-task information for RCU_CPU_STALL_DETECTOR"
837 depends on RCU_CPU_STALL_DETECTOR && TREE_PREEMPT_RCU 874 depends on RCU_CPU_STALL_DETECTOR && TREE_PREEMPT_RCU
diff --git a/lib/radix-tree.c b/lib/radix-tree.c
index 5b7d4623f0b7..0ccbcdf75000 100644
--- a/lib/radix-tree.c
+++ b/lib/radix-tree.c
@@ -49,7 +49,7 @@ struct radix_tree_node {
49 unsigned int height; /* Height from the bottom */ 49 unsigned int height; /* Height from the bottom */
50 unsigned int count; 50 unsigned int count;
51 struct rcu_head rcu_head; 51 struct rcu_head rcu_head;
52 void *slots[RADIX_TREE_MAP_SIZE]; 52 void __rcu *slots[RADIX_TREE_MAP_SIZE];
53 unsigned long tags[RADIX_TREE_MAX_TAGS][RADIX_TREE_TAG_LONGS]; 53 unsigned long tags[RADIX_TREE_MAX_TAGS][RADIX_TREE_TAG_LONGS];
54}; 54};
55 55