diff options
author | Pranith Kumar <bobby.prani@gmail.com> | 2014-12-05 11:24:45 -0500 |
---|---|---|
committer | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2015-01-06 11:04:29 -0800 |
commit | 83fe27ea531161a655f02dc7732d14cfaa27fd5d (patch) | |
tree | 1f81714c3b10b76f483eea380b0eafe7cf84e75b /init | |
parent | 9735af5c78599703be633c057af3faee26482028 (diff) | |
download | linux-83fe27ea531161a655f02dc7732d14cfaa27fd5d.tar.gz linux-83fe27ea531161a655f02dc7732d14cfaa27fd5d.tar.bz2 linux-83fe27ea531161a655f02dc7732d14cfaa27fd5d.zip |
rcu: Make SRCU optional by using CONFIG_SRCU
SRCU is not necessary to be compiled by default in all cases. For tinification
efforts not compiling SRCU unless necessary is desirable.
The current patch tries to make compiling SRCU optional by introducing a new
Kconfig option CONFIG_SRCU which is selected when any of the components making
use of SRCU are selected.
If we do not select CONFIG_SRCU, srcu.o will not be compiled at all.
text data bss dec hex filename
2007 0 0 2007 7d7 kernel/rcu/srcu.o
Size of arch/powerpc/boot/zImage changes from
text data bss dec hex filename
831552 64180 23944 919676 e087c arch/powerpc/boot/zImage : before
829504 64180 23952 917636 e0084 arch/powerpc/boot/zImage : after
so the savings are about ~2000 bytes.
Signed-off-by: Pranith Kumar <bobby.prani@gmail.com>
CC: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
CC: Josh Triplett <josh@joshtriplett.org>
CC: Lai Jiangshan <laijs@cn.fujitsu.com>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
[ paulmck: resolve conflict due to removal of arch/ia64/kvm/Kconfig. ]
Diffstat (limited to 'init')
-rw-r--r-- | init/Kconfig | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/init/Kconfig b/init/Kconfig index 9afb971497f4..f085969ba340 100644 --- a/init/Kconfig +++ b/init/Kconfig @@ -501,9 +501,17 @@ config TINY_RCU endchoice +config SRCU + bool + help + This option selects the sleepable version of RCU. This version + permits arbitrary sleeping or blocking within RCU read-side critical + sections. + config TASKS_RCU bool "Task_based RCU implementation using voluntary context switch" default n + select SRCU help This option enables a task-based RCU implementation that uses only voluntary context switch (not preemption!), idle, and @@ -1595,6 +1603,7 @@ config PERF_EVENTS depends on HAVE_PERF_EVENTS select ANON_INODES select IRQ_WORK + select SRCU help Enable kernel support for various performance events provided by software and hardware. |