aboutsummaryrefslogtreecommitdiffstats
path: root/init
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2010-02-28 13:13:16 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2010-02-28 13:13:16 -0500
commit642c4c75a765d7a3244ab39c8e6fb09be21eca5b (patch)
treece0be9b476f362835d3a3d6e4fd32801cd15c9fe /init
parentf91b22c35f6b0ae06ec5b67922eca1999c3b6e0a (diff)
parent71da81324c83ef65bb196c7f874ac1c6996d8287 (diff)
Merge branch 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
* 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (44 commits) rcu: Fix accelerated GPs for last non-dynticked CPU rcu: Make non-RCU_PROVE_LOCKING rcu_read_lock_sched_held() understand boot rcu: Fix accelerated grace periods for last non-dynticked CPU rcu: Export rcu_scheduler_active rcu: Make rcu_read_lock_sched_held() take boot time into account rcu: Make lockdep_rcu_dereference() message less alarmist sched, cgroups: Fix module export rcu: Add RCU_CPU_STALL_VERBOSE to dump detailed per-task information rcu: Fix rcutorture mod_timer argument to delay one jiffy rcu: Fix deadlock in TREE_PREEMPT_RCU CPU stall detection rcu: Convert to raw_spinlocks rcu: Stop overflowing signed integers rcu: Use canonical URL for Mathieu's dissertation rcu: Accelerate grace period if last non-dynticked CPU rcu: Fix citation of Mathieu's dissertation rcu: Documentation update for CONFIG_PROVE_RCU security: Apply lockdep-based checking to rcu_dereference() uses idr: Apply lockdep-based diagnostics to rcu_dereference() uses radix-tree: Disable RCU lockdep checking in radix tree vfs: Abstract rcu_dereference_check for files-fdtable use ...
Diffstat (limited to 'init')
-rw-r--r--init/Kconfig16
-rw-r--r--init/main.c2
2 files changed, 18 insertions, 0 deletions
diff --git a/init/Kconfig b/init/Kconfig
index 1510e17a2902..d038a57004a2 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -396,6 +396,22 @@ config RCU_FANOUT_EXACT
396 396
397 Say N if unsure. 397 Say N if unsure.
398 398
399config RCU_FAST_NO_HZ
400 bool "Accelerate last non-dyntick-idle CPU's grace periods"
401 depends on TREE_RCU && NO_HZ && SMP
402 default n
403 help
404 This option causes RCU to attempt to accelerate grace periods
405 in order to allow the final CPU to enter dynticks-idle state
406 more quickly. On the other hand, this option increases the
407 overhead of the dynticks-idle checking, particularly on systems
408 with large numbers of CPUs.
409
410 Say Y if energy efficiency is critically important, particularly
411 if you have relatively few CPUs.
412
413 Say N if you are unsure.
414
399config TREE_RCU_TRACE 415config TREE_RCU_TRACE
400 def_bool RCU_TRACE && ( TREE_RCU || TREE_PREEMPT_RCU ) 416 def_bool RCU_TRACE && ( TREE_RCU || TREE_PREEMPT_RCU )
401 select DEBUG_FS 417 select DEBUG_FS
diff --git a/init/main.c b/init/main.c
index 4cb47a159f02..c75dcd6eef09 100644
--- a/init/main.c
+++ b/init/main.c
@@ -416,7 +416,9 @@ static noinline void __init_refok rest_init(void)
416 kernel_thread(kernel_init, NULL, CLONE_FS | CLONE_SIGHAND); 416 kernel_thread(kernel_init, NULL, CLONE_FS | CLONE_SIGHAND);
417 numa_default_policy(); 417 numa_default_policy();
418 pid = kernel_thread(kthreadd, NULL, CLONE_FS | CLONE_FILES); 418 pid = kernel_thread(kthreadd, NULL, CLONE_FS | CLONE_FILES);
419 rcu_read_lock();
419 kthreadd_task = find_task_by_pid_ns(pid, &init_pid_ns); 420 kthreadd_task = find_task_by_pid_ns(pid, &init_pid_ns);
421 rcu_read_unlock();
420 unlock_kernel(); 422 unlock_kernel();
421 423
422 /* 424 /*