• Zhouyi Zhou's avatar
    rcu: Fix undefined Kconfig macros · 3ac85878
    Zhouyi Zhou authored
    Invoking scripts/checkkconfigsymbols.py in the Linux-kernel source tree
    located the following issues:
    
    1. TREE_PREEMPT_RCU
    Referencing files: arch/sh/configs/sdk7786_defconfig
    
    It should now be CONFIG_PREEMPT_RCU. Except that the CONFIG_PREEMPT=y in
    that same file implies CONFIG_PREEMPT_RCU=y.  Therefore, delete the
    CONFIG_TREE_PREEMPT_RCU=y line.
    
    The reason is as follows:
    
    In kernel/rcu/Kconfig, we have
    config PREEMPT_RCU
            bool
            default y if PREEMPTION
    
    https://www.kernel.org/doc/Documentation/kbuild/kconfig-language.txt says,
    "The default value is only assigned to the config symbol if no other value
     was set by the user (via the input prompt above)."
    there is no prompt in config PREEMPT_RCU entry, so we are guaranteed to
    get CONFIG_PREEMPT_RCU=y when CONFIG_PREEMPT is present.
    
    2. RCU_CPU_STALL_INFO
    Referencing files: arch/xtensa/configs/nommu_kc705_defconfig
    
    The old Kconfig option RCU_CPU_STALL_INFO was removed by commit
    75c27f11 ("rcu: Remove CONFIG_RCU_CPU_STALL_INFO"), and the kernel
    now acts as if this Kconfig option was unconditionally enabled.
    
    3. RCU_NOCB_CPU_ALL
    Referencing files:
    Documentation/RCU/Design/Memory-Ordering/Tree-RCU-Memory-Ordering.rst
    
    This is an old snapshot of the code. I update this from the real
    rcu_prepare_for_idle() function in kernel/rcu/tree_plugin.h.
    This change was tested by invoking "make htmldocs".
    
    4. RCU_TORTURE_TESTS
    Referencing files: kernel/rcu/rcutorture.c
    
    Forward-progress checking conflicts with CPU-stall testing, so we should
    complain at "modprobe rcutorture" when both are enabled.
    Signed-off-by: default avatarZhouyi Zhou <zhouzhouyi@gmail.com>
    Signed-off-by: default avatarPaul E. McKenney <paulmck@kernel.org>
    3ac85878
Tree-RCU-Memory-Ordering.rst 31.6 KB