diff options
Diffstat (limited to 'kernel')
| -rw-r--r-- | kernel/rcutree.c | 6 | ||||
| -rw-r--r-- | kernel/rcutree_plugin.h | 44 |
2 files changed, 42 insertions, 8 deletions
diff --git a/kernel/rcutree.c b/kernel/rcutree.c index 595fb83e9b7..ec6196fcd1f 100644 --- a/kernel/rcutree.c +++ b/kernel/rcutree.c | |||
| @@ -1938,12 +1938,6 @@ void __init rcu_init(void) | |||
| 1938 | int cpu; | 1938 | int cpu; |
| 1939 | 1939 | ||
| 1940 | rcu_bootup_announce(); | 1940 | rcu_bootup_announce(); |
| 1941 | #ifdef CONFIG_RCU_CPU_STALL_DETECTOR | ||
| 1942 | printk(KERN_INFO "RCU-based detection of stalled CPUs is enabled.\n"); | ||
| 1943 | #endif /* #ifdef CONFIG_RCU_CPU_STALL_DETECTOR */ | ||
| 1944 | #if NUM_RCU_LVL_4 != 0 | ||
| 1945 | printk(KERN_INFO "Experimental four-level hierarchy is enabled.\n"); | ||
| 1946 | #endif /* #if NUM_RCU_LVL_4 != 0 */ | ||
| 1947 | RCU_INIT_FLAVOR(&rcu_sched_state, rcu_sched_data); | 1941 | RCU_INIT_FLAVOR(&rcu_sched_state, rcu_sched_data); |
| 1948 | RCU_INIT_FLAVOR(&rcu_bh_state, rcu_bh_data); | 1942 | RCU_INIT_FLAVOR(&rcu_bh_state, rcu_bh_data); |
| 1949 | __rcu_init_preempt(); | 1943 | __rcu_init_preempt(); |
diff --git a/kernel/rcutree_plugin.h b/kernel/rcutree_plugin.h index f9bc83a047d..0ae2339ab04 100644 --- a/kernel/rcutree_plugin.h +++ b/kernel/rcutree_plugin.h | |||
| @@ -26,6 +26,45 @@ | |||
| 26 | 26 | ||
| 27 | #include <linux/delay.h> | 27 | #include <linux/delay.h> |
| 28 | 28 | ||
| 29 | /* | ||
| 30 | * Check the RCU kernel configuration parameters and print informative | ||
| 31 | * messages about anything out of the ordinary. If you like #ifdef, you | ||
| 32 | * will love this function. | ||
| 33 | */ | ||
| 34 | static void __init rcu_bootup_announce_oddness(void) | ||
| 35 | { | ||
| 36 | #ifdef CONFIG_RCU_TRACE | ||
| 37 | printk(KERN_INFO "\tRCU debugfs-based tracing is enabled.\n"); | ||
| 38 | #endif | ||
| 39 | #if (defined(CONFIG_64BIT) && CONFIG_RCU_FANOUT != 64) || (!defined(CONFIG_64BIT) && CONFIG_RCU_FANOUT != 32) | ||
| 40 | printk(KERN_INFO "\tCONFIG_RCU_FANOUT set to non-default value of %d\n", | ||
| 41 | CONFIG_RCU_FANOUT); | ||
| 42 | #endif | ||
| 43 | #ifdef CONFIG_RCU_FANOUT_EXACT | ||
| 44 | printk(KERN_INFO "\tHierarchical RCU autobalancing is disabled.\n"); | ||
| 45 | #endif | ||
| 46 | #ifdef CONFIG_RCU_FAST_NO_HZ | ||
| 47 | printk(KERN_INFO | ||
| 48 | "\tRCU dyntick-idle grace-period acceleration is enabled.\n"); | ||
| 49 | #endif | ||
| 50 | #ifdef CONFIG_PROVE_RCU | ||
| 51 | printk(KERN_INFO "\tRCU lockdep checking is enabled.\n"); | ||
| 52 | #endif | ||
| 53 | #ifdef CONFIG_RCU_TORTURE_TEST_RUNNABLE | ||
| 54 | printk(KERN_INFO "\tRCU torture testing starts during boot.\n"); | ||
| 55 | #endif | ||
| 56 | #ifndef CONFIG_RCU_CPU_STALL_DETECTOR | ||
| 57 | printk(KERN_INFO | ||
| 58 | "\tRCU-based detection of stalled CPUs is disabled.\n"); | ||
| 59 | #endif | ||
| 60 | #ifndef CONFIG_RCU_CPU_STALL_VERBOSE | ||
| 61 | printk(KERN_INFO "\tVerbose stalled-CPUs detection is disabled.\n"); | ||
| 62 | #endif | ||
| 63 | #if NUM_RCU_LVL_4 != 0 | ||
| 64 | printk(KERN_INFO "\tExperimental four-level hierarchy is enabled.\n"); | ||
| 65 | #endif | ||
| 66 | } | ||
| 67 | |||
| 29 | #ifdef CONFIG_TREE_PREEMPT_RCU | 68 | #ifdef CONFIG_TREE_PREEMPT_RCU |
| 30 | 69 | ||
| 31 | struct rcu_state rcu_preempt_state = RCU_STATE_INITIALIZER(rcu_preempt_state); | 70 | struct rcu_state rcu_preempt_state = RCU_STATE_INITIALIZER(rcu_preempt_state); |
| @@ -38,8 +77,8 @@ static int rcu_preempted_readers_exp(struct rcu_node *rnp); | |||
| 38 | */ | 77 | */ |
| 39 | static void __init rcu_bootup_announce(void) | 78 | static void __init rcu_bootup_announce(void) |
| 40 | { | 79 | { |
| 41 | printk(KERN_INFO | 80 | printk(KERN_INFO "Preemptable hierarchical RCU implementation.\n"); |
| 42 | "Experimental preemptable hierarchical RCU implementation.\n"); | 81 | rcu_bootup_announce_oddness(); |
| 43 | } | 82 | } |
| 44 | 83 | ||
| 45 | /* | 84 | /* |
| @@ -757,6 +796,7 @@ void exit_rcu(void) | |||
| 757 | static void __init rcu_bootup_announce(void) | 796 | static void __init rcu_bootup_announce(void) |
| 758 | { | 797 | { |
| 759 | printk(KERN_INFO "Hierarchical RCU implementation.\n"); | 798 | printk(KERN_INFO "Hierarchical RCU implementation.\n"); |
| 799 | rcu_bootup_announce_oddness(); | ||
| 760 | } | 800 | } |
| 761 | 801 | ||
| 762 | /* | 802 | /* |
