summaryrefslogtreecommitdiffstats
path: root/init
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2015-04-14 16:36:04 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2015-04-14 16:36:04 -0400
commit078838d56574694d0a4815d9c1b7f28e8844638b (patch)
tree0d8c72d9dc46b0d2e72073fb928ec08e14b02b76 /init
parenteeee78cf77df0450ca285a7cd6d73842181e825c (diff)
parent590ee7dbd569a012df705a5204fc5f1066f52b8c (diff)
Merge branch 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull RCU changes from Ingo Molnar: "The main changes in this cycle were: - changes permitting use of call_rcu() and friends very early in boot, for example, before rcu_init() is invoked. - add in-kernel API to enable and disable expediting of normal RCU grace periods. - improve RCU's handling of (hotplug-) outgoing CPUs. - NO_HZ_FULL_SYSIDLE fixes. - tiny-RCU updates to make it more tiny. - documentation updates. - miscellaneous fixes" * 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (58 commits) cpu: Provide smpboot_thread_init() on !CONFIG_SMP kernels as well cpu: Defer smpboot kthread unparking until CPU known to scheduler rcu: Associate quiescent-state reports with grace period rcu: Yet another fix for preemption and CPU hotplug rcu: Add diagnostics to grace-period cleanup rcutorture: Default to grace-period-initialization delays rcu: Handle outgoing CPUs on exit from idle loop cpu: Make CPU-offline idle-loop transition point more precise rcu: Eliminate ->onoff_mutex from rcu_node structure rcu: Process offlining and onlining only at grace-period start rcu: Move rcu_report_unblock_qs_rnp() to common code rcu: Rework preemptible expedited bitmask handling rcu: Remove event tracing from rcu_cpu_notify(), used by offline CPUs rcutorture: Enable slow grace-period initializations rcu: Provide diagnostic option to slow down grace-period initialization rcu: Detect stalls caused by failure to propagate up rcu_node tree rcu: Eliminate empty HOTPLUG_CPU ifdef rcu: Simplify sync_rcu_preempt_exp_init() rcu: Put all orphan-callback-related code under same comment rcu: Consolidate offline-CPU callback initialization ...
Diffstat (limited to 'init')
-rw-r--r--init/Kconfig13
-rw-r--r--init/main.c1
2 files changed, 14 insertions, 0 deletions
diff --git a/init/Kconfig b/init/Kconfig
index f5dbc6d4261b..9a0592516f48 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -791,6 +791,19 @@ config RCU_NOCB_CPU_ALL
791 791
792endchoice 792endchoice
793 793
794config RCU_EXPEDITE_BOOT
795 bool
796 default n
797 help
798 This option enables expedited grace periods at boot time,
799 as if rcu_expedite_gp() had been invoked early in boot.
800 The corresponding rcu_unexpedite_gp() is invoked from
801 rcu_end_inkernel_boot(), which is intended to be invoked
802 at the end of the kernel-only boot sequence, just before
803 init is exec'ed.
804
805 Accept the default if unsure.
806
794endmenu # "RCU Subsystem" 807endmenu # "RCU Subsystem"
795 808
796config BUILD_BIN2C 809config BUILD_BIN2C
diff --git a/init/main.c b/init/main.c
index 54565bf57beb..e82171b99874 100644
--- a/init/main.c
+++ b/init/main.c
@@ -384,6 +384,7 @@ static noinline void __init_refok rest_init(void)
384 int pid; 384 int pid;
385 385
386 rcu_scheduler_starting(); 386 rcu_scheduler_starting();
387 smpboot_thread_init();
387 /* 388 /*
388 * We need to spawn init first so that it obtains pid 1, however 389 * We need to spawn init first so that it obtains pid 1, however
389 * the init task will end up wanting to create kthreads, which, if 390 * the init task will end up wanting to create kthreads, which, if