tinification: Introduce CONFIG_SRCU to make SRCU optional

(CC list trimmed since this is just for initial feedback)

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.

The current tinyconfig on x86 enables SRCU by default since x86 enables
PERF_EVENTS which in-turn require SRCU support. If we disable
PERF_EVENTS, we can disable compiling SRCU for tiny configs on x86 systems.

I tested this using randconfig and building about 15 kernels. This is definitely
not complete and could use more testing. Sticking it in next might help in that
regards.

Comments and suggestions are welcome. Please let me know if I should split up
this patch.

Signed-off-by: Pranith Kumar <bobby.prani@gmail.com>
CC: Paul McKenney <paulmck@linux.vnet.ibm.com>
CC: Josh Triplett <josh@joshtriplett.org>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
21 files changed