diff options
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 | /* |