diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2014-10-13 15:44:12 +0200 | 
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2014-10-13 15:44:12 +0200 | 
| commit | d6dd50e07c5bec00db2005969b1a01f8ca3d25ef (patch) | |
| tree | 53e36ac30a3d0fdca3834f4e1eb36ddc67b512ce /init | |
| parent | 5ff0b9e1a1da58b584aa4b8ea234be20b5a1164b (diff) | |
| parent | fd19bda491207f66d39aeba93487197a087bc00b (diff) | |
| download | linux-d6dd50e07c5bec00db2005969b1a01f8ca3d25ef.tar.bz2 | |
Merge branch 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull RCU updates from Ingo Molnar:
 "The main changes in this cycle were:
   - changes related to No-CBs CPUs and NO_HZ_FULL
   - RCU-tasks implementation
   - torture-test updates
   - miscellaneous fixes
   - locktorture updates
   - RCU documentation updates"
* 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (81 commits)
  workqueue: Use cond_resched_rcu_qs macro
  workqueue: Add quiescent state between work items
  locktorture: Cleanup header usage
  locktorture: Cannot hold read and write lock
  locktorture: Fix __acquire annotation for spinlock irq
  locktorture: Support rwlocks
  rcu: Eliminate deadlock between CPU hotplug and expedited grace periods
  locktorture: Document boot/module parameters
  rcutorture: Rename rcutorture_runnable parameter
  locktorture: Add test scenario for rwsem_lock
  locktorture: Add test scenario for mutex_lock
  locktorture: Make torture scripting account for new _runnable name
  locktorture: Introduce torture context
  locktorture: Support rwsems
  locktorture: Add infrastructure for torturing read locks
  torture: Address race in module cleanup
  locktorture: Make statistics generic
  locktorture: Teach about lock debugging
  locktorture: Support mutexes
  locktorture: Add documentation
  ...
Diffstat (limited to 'init')
| -rw-r--r-- | init/Kconfig | 14 | ||||
| -rw-r--r-- | init/main.c | 1 | 
2 files changed, 13 insertions, 2 deletions
| diff --git a/init/Kconfig b/init/Kconfig index d2355812ba48..1c505e090422 100644 --- a/init/Kconfig +++ b/init/Kconfig @@ -507,6 +507,16 @@ config PREEMPT_RCU  	  This option enables preemptible-RCU code that is common between  	  TREE_PREEMPT_RCU and, in the old days, TINY_PREEMPT_RCU. +config TASKS_RCU +	bool "Task_based RCU implementation using voluntary context switch" +	default n +	help +	  This option enables a task-based RCU implementation that uses +	  only voluntary context switch (not preemption!), idle, and +	  user-mode execution as quiescent states. + +	  If unsure, say N. +  config RCU_STALL_COMMON  	def_bool ( TREE_RCU || TREE_PREEMPT_RCU || RCU_TRACE )  	help @@ -737,7 +747,7 @@ choice  config RCU_NOCB_CPU_NONE  	bool "No build_forced no-CBs CPUs" -	depends on RCU_NOCB_CPU && !NO_HZ_FULL_ALL +	depends on RCU_NOCB_CPU  	help  	  This option does not force any of the CPUs to be no-CBs CPUs.  	  Only CPUs designated by the rcu_nocbs= boot parameter will be @@ -751,7 +761,7 @@ config RCU_NOCB_CPU_NONE  config RCU_NOCB_CPU_ZERO  	bool "CPU 0 is a build_forced no-CBs CPU" -	depends on RCU_NOCB_CPU && !NO_HZ_FULL_ALL +	depends on RCU_NOCB_CPU  	help  	  This option forces CPU 0 to be a no-CBs CPU, so that its RCU  	  callbacks are invoked by a per-CPU kthread whose name begins diff --git a/init/main.c b/init/main.c index 8af2f1abfe38..c5c11da6c4e1 100644 --- a/init/main.c +++ b/init/main.c @@ -583,6 +583,7 @@ asmlinkage __visible void __init start_kernel(void)  	early_irq_init();  	init_IRQ();  	tick_init(); +	rcu_init_nohz();  	init_timers();  	hrtimers_init();  	softirq_init(); |