This document gives a brief rationale for the TINY_RCU test cases.


Kconfig Parameters:

CONFIG_DEBUG_LOCK_ALLOC -- Do all three and none of the three.
CONFIG_PREEMPT_COUNT
CONFIG_RCU_TRACE

The theory here is that randconfig testing will hit the other six possible
combinations of these parameters.


Kconfig Parameters Ignored:

CONFIG_DEBUG_OBJECTS_RCU_HEAD
CONFIG_PROVE_RCU

	In common code tested by TREE_RCU test cases.

CONFIG_RCU_NOCB_CPU

	Meaningless for TINY_RCU.

CONFIG_RCU_STALL_COMMON
CONFIG_RCU_TORTURE_TEST

	Redundant with CONFIG_RCU_TRACE.

CONFIG_HOTPLUG_CPU
CONFIG_PREEMPT
CONFIG_PREEMPT_RCU
CONFIG_SMP
CONFIG_TINY_RCU
CONFIG_PREEMPT_RCU
CONFIG_TREE_RCU

	All forced by CONFIG_TINY_RCU.
