|
@@ -85,6 +85,20 @@ static void __init rcu_bootup_announce_oddness(void)
|
|
|
if (nr_cpu_ids != NR_CPUS)
|
|
if (nr_cpu_ids != NR_CPUS)
|
|
|
printk(KERN_INFO "\tRCU restricting CPUs from NR_CPUS=%d to nr_cpu_ids=%d.\n", NR_CPUS, nr_cpu_ids);
|
|
printk(KERN_INFO "\tRCU restricting CPUs from NR_CPUS=%d to nr_cpu_ids=%d.\n", NR_CPUS, nr_cpu_ids);
|
|
|
#ifdef CONFIG_RCU_NOCB_CPU
|
|
#ifdef CONFIG_RCU_NOCB_CPU
|
|
|
|
|
+#ifndef CONFIG_RCU_NOCB_CPU_NONE
|
|
|
|
|
+ if (!have_rcu_nocb_mask) {
|
|
|
|
|
+ alloc_bootmem_cpumask_var(&rcu_nocb_mask);
|
|
|
|
|
+ have_rcu_nocb_mask = true;
|
|
|
|
|
+ }
|
|
|
|
|
+#ifdef CONFIG_RCU_NOCB_CPU_ZERO
|
|
|
|
|
+ pr_info("\tExperimental no-CBs CPU 0\n");
|
|
|
|
|
+ cpumask_set_cpu(0, rcu_nocb_mask);
|
|
|
|
|
+#endif /* #ifdef CONFIG_RCU_NOCB_CPU_ZERO */
|
|
|
|
|
+#ifdef CONFIG_RCU_NOCB_CPU_ALL
|
|
|
|
|
+ pr_info("\tExperimental no-CBs for all CPUs\n");
|
|
|
|
|
+ cpumask_setall(rcu_nocb_mask);
|
|
|
|
|
+#endif /* #ifdef CONFIG_RCU_NOCB_CPU_ALL */
|
|
|
|
|
+#endif /* #ifndef CONFIG_RCU_NOCB_CPU_NONE */
|
|
|
if (have_rcu_nocb_mask) {
|
|
if (have_rcu_nocb_mask) {
|
|
|
cpulist_scnprintf(nocb_buf, sizeof(nocb_buf), rcu_nocb_mask);
|
|
cpulist_scnprintf(nocb_buf, sizeof(nocb_buf), rcu_nocb_mask);
|
|
|
pr_info("\tExperimental no-CBs CPUs: %s.\n", nocb_buf);
|
|
pr_info("\tExperimental no-CBs CPUs: %s.\n", nocb_buf);
|