diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-02-28 13:13:16 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-02-28 13:13:16 -0500 |
commit | 642c4c75a765d7a3244ab39c8e6fb09be21eca5b (patch) | |
tree | ce0be9b476f362835d3a3d6e4fd32801cd15c9fe /init | |
parent | f91b22c35f6b0ae06ec5b67922eca1999c3b6e0a (diff) | |
parent | 71da81324c83ef65bb196c7f874ac1c6996d8287 (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/Kconfig | 16 | ||||
-rw-r--r-- | init/main.c | 2 |
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 | ||
399 | config 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 | |||
399 | config TREE_RCU_TRACE | 415 | config 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 | /* |