[PATCH rcu 0/4] CONFIG_RCU_FAST_NO_HZ removal for v5.17

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello!

This series removes CONFIG_RCU_FAST_NO_HZ support.  The reason for
taking this step is that in every case that I know of where kernels
are built with CONFIG_RCU_FAST_NO_HZ=y, those kernels also offload RCU
callbacks from all CPUs, for example, by booting with rcu_nocbs=0-N.
This is counterproductive because CONFIG_RCU_FAST_NO_HZ only applies
to CPUs that do not offload their callbacks.  For CPUs with offloaded
callbacks, this Kconfig option does nothing but (slightly) increase your
to/from idle latencies, which is not normally what anyone wants.

So if you know of someone who is gaining real benefit from building their
kernels with CONFIG_RCU_FAST_NO_HZ=y, this would be a most excellent
time to make me aware of this fact.  ;-)

1.	Remove RCU_FAST_NO_HZ from rcuscale and refscale scenarios.

2.	Remove RCU_FAST_NO_HZ from rcu scenarios.

3.	Remove the RCU_FAST_NO_HZ Kconfig option.

4.	Move rcu_needs_cpu() to tree.c.

						Thanx, Paul

------------------------------------------------------------------------

 b/Documentation/RCU/stallwarn.rst                               |   11 
 b/Documentation/admin-guide/kernel-parameters.txt               |    4 
 b/Documentation/timers/no_hz.rst                                |   10 
 b/kernel/rcu/Kconfig                                            |   18 
 b/kernel/rcu/tree.c                                             |   11 
 b/kernel/rcu/tree.h                                             |    7 
 b/kernel/rcu/tree_plugin.h                                      |  185 ----------
 b/kernel/rcu/tree_stall.h                                       |   27 -
 b/tools/testing/selftests/rcutorture/configs/rcu/TREE01         |    1 
 b/tools/testing/selftests/rcutorture/configs/rcu/TREE02         |    1 
 b/tools/testing/selftests/rcutorture/configs/rcu/TREE04         |    1 
 b/tools/testing/selftests/rcutorture/configs/rcu/TREE05         |    1 
 b/tools/testing/selftests/rcutorture/configs/rcu/TREE06         |    1 
 b/tools/testing/selftests/rcutorture/configs/rcu/TREE07         |    1 
 b/tools/testing/selftests/rcutorture/configs/rcu/TREE08         |    1 
 b/tools/testing/selftests/rcutorture/configs/rcu/TREE10         |    1 
 b/tools/testing/selftests/rcutorture/configs/rcuscale/TINY      |    1 
 b/tools/testing/selftests/rcutorture/configs/rcuscale/TRACE01   |    1 
 b/tools/testing/selftests/rcutorture/configs/rcuscale/TREE      |    1 
 b/tools/testing/selftests/rcutorture/configs/rcuscale/TREE54    |    1 
 b/tools/testing/selftests/rcutorture/configs/refscale/NOPREEMPT |    1 
 b/tools/testing/selftests/rcutorture/configs/refscale/PREEMPT   |    1 
 b/tools/testing/selftests/rcutorture/doc/TREE_RCU-kconfig.txt   |    1 
 kernel/rcu/tree.c                                               |   18 
 kernel/rcu/tree_plugin.h                                        |   16 
 25 files changed, 25 insertions(+), 297 deletions(-)



[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux