]> git.hungrycats.org Git - linux/commit
rcu: Make SRCU optional by using CONFIG_SRCU
authorPranith Kumar <bobby.prani@gmail.com>
Fri, 5 Dec 2014 16:24:45 +0000 (11:24 -0500)
committerZygo Blaxell <zblaxell@waya.furryterror.org>
Fri, 27 Mar 2015 03:25:49 +0000 (23:25 -0400)
commit2f9f94d9601e6be743f468d9f2a5af8835e90c59
tree81166083e4ec10f296add6310d234dd523329b45
parentd0b1c980cb94500f6c567ce6196015ebd4035b82
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. ]
(cherry picked from commit 83fe27ea531161a655f02dc7732d14cfaa27fd5d)
23 files changed:
arch/arm/kvm/Kconfig
arch/arm64/kvm/Kconfig
arch/mips/kvm/Kconfig
arch/powerpc/kvm/Kconfig
arch/s390/kvm/Kconfig
arch/tile/kvm/Kconfig
arch/x86/Kconfig
arch/x86/kvm/Kconfig
drivers/clk/Kconfig
drivers/cpufreq/Kconfig
drivers/devfreq/Kconfig
drivers/md/Kconfig
drivers/net/Kconfig
fs/btrfs/Kconfig
fs/notify/Kconfig
fs/quota/Kconfig
init/Kconfig
kernel/notifier.c
kernel/power/Kconfig
kernel/rcu/Makefile
lib/Kconfig.debug
mm/Kconfig
security/tomoyo/Kconfig