Skip to content

Commit

Permalink
kernel: disable CONFIG_RCU_EXPERT and friends
Browse files Browse the repository at this point in the history
Based on the existing documentation [1][2], I dare anyone to demonstrate that
we need to fine-tune these RCU parameters. The (performance) breakage potential
for doing so is immense, so let's just please put down this loaded footgun.

Disable CONFIG_RCU_EXPERT and its dependent symbols. Additionally, remove the
CONFIG_RCU_EXPERT symbol from the target kconfigs which contain it.

[1] https://www.kernel.org/doc/Documentation/RCU/Design/Data-Structures/Data-Structures.html
[2] https://lwn.net/Articles/777214/

Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
  • Loading branch information
rsalvaterra authored and hauke committed Aug 29, 2021
1 parent b8f8d06 commit 7e135ad
Show file tree
Hide file tree
Showing 14 changed files with 2 additions and 23 deletions.
1 change: 0 additions & 1 deletion target/linux/gemini/config-5.10
Expand Up @@ -333,7 +333,6 @@ CONFIG_PREEMPT_RCU=y
CONFIG_PROC_PAGE_MONITOR=y
CONFIG_RATIONAL=y
CONFIG_RCU_CPU_STALL_TIMEOUT=21
# CONFIG_RCU_EXPERT is not set
CONFIG_RCU_NEED_SEGCBLIST=y
CONFIG_RCU_STALL_COMMON=y
CONFIG_RD_BZIP2=y
Expand Down
1 change: 0 additions & 1 deletion target/linux/gemini/config-5.4
Expand Up @@ -369,7 +369,6 @@ CONFIG_PREEMPT_RCU=y
CONFIG_PROC_PAGE_MONITOR=y
CONFIG_RATIONAL=y
CONFIG_RCU_CPU_STALL_TIMEOUT=21
# CONFIG_RCU_EXPERT is not set
CONFIG_RCU_NEED_SEGCBLIST=y
CONFIG_RCU_STALL_COMMON=y
CONFIG_RD_BZIP2=y
Expand Down
7 changes: 1 addition & 6 deletions target/linux/generic/config-5.10
Expand Up @@ -4631,12 +4631,8 @@ CONFIG_PWRSEQ_SIMPLE=y
CONFIG_RCU_CPU_STALL_TIMEOUT=60
# CONFIG_RCU_EQS_DEBUG is not set
# CONFIG_RCU_EXPEDITE_BOOT is not set
CONFIG_RCU_EXPERT=y
CONFIG_RCU_FANOUT=32
CONFIG_RCU_FANOUT_LEAF=16
# CONFIG_RCU_FAST_NO_HZ is not set
# CONFIG_RCU_EXPERT is not set
CONFIG_RCU_KTHREAD_PRIO=0
# CONFIG_RCU_NOCB_CPU is not set
# CONFIG_RCU_PERF_TEST is not set
# CONFIG_RCU_REF_SCALE_TEST is not set
# CONFIG_RCU_SCALE_TEST is not set
Expand Down Expand Up @@ -5995,7 +5991,6 @@ CONFIG_SYSVIPC_SYSCTL=y
# CONFIG_TARGET_CORE is not set
# CONFIG_TASKSTATS is not set
# CONFIG_TASKS_RCU is not set
CONFIG_TASKS_TRACE_RCU_READ_MB=y
# CONFIG_TASK_XACCT is not set
# CONFIG_TC35815 is not set
# CONFIG_TCG_ATMEL is not set
Expand Down
6 changes: 1 addition & 5 deletions target/linux/generic/config-5.4
Expand Up @@ -4262,12 +4262,8 @@ CONFIG_PWRSEQ_SIMPLE=y
CONFIG_RCU_CPU_STALL_TIMEOUT=60
# CONFIG_RCU_EQS_DEBUG is not set
# CONFIG_RCU_EXPEDITE_BOOT is not set
CONFIG_RCU_EXPERT=y
CONFIG_RCU_FANOUT=32
CONFIG_RCU_FANOUT_LEAF=16
# CONFIG_RCU_FAST_NO_HZ is not set
# CONFIG_RCU_EXPERT is not set
CONFIG_RCU_KTHREAD_PRIO=0
# CONFIG_RCU_NOCB_CPU is not set
# CONFIG_RCU_PERF_TEST is not set
# CONFIG_RCU_TORTURE_TEST is not set
CONFIG_RCU_TORTURE_TEST_SLOW_INIT_DELAY=3
Expand Down
1 change: 0 additions & 1 deletion target/linux/ipq807x/config-default
Expand Up @@ -531,7 +531,6 @@ CONFIG_QUEUED_SPINLOCKS=y
# CONFIG_RANDOMIZE_BASE is not set
CONFIG_RATIONAL=y
CONFIG_RCU_CPU_STALL_TIMEOUT=21
# CONFIG_RCU_EXPERT is not set
CONFIG_RCU_NEED_SEGCBLIST=y
CONFIG_RCU_STALL_COMMON=y
CONFIG_RD_GZIP=y
Expand Down
1 change: 0 additions & 1 deletion target/linux/layerscape/armv7/config-5.4
Expand Up @@ -505,7 +505,6 @@ CONFIG_QORIQ_CPUFREQ=y
CONFIG_RAS=y
CONFIG_RATIONAL=y
CONFIG_RCU_CPU_STALL_TIMEOUT=21
# CONFIG_RCU_EXPERT is not set
CONFIG_RCU_NEED_SEGCBLIST=y
CONFIG_RCU_STALL_COMMON=y
CONFIG_RD_BZIP2=y
Expand Down
1 change: 0 additions & 1 deletion target/linux/layerscape/armv8_64b/config-5.4
Expand Up @@ -671,7 +671,6 @@ CONFIG_RAID6_PQ=y
CONFIG_RAS=y
CONFIG_RATIONAL=y
CONFIG_RCU_CPU_STALL_TIMEOUT=21
# CONFIG_RCU_EXPERT is not set
CONFIG_RCU_NEED_SEGCBLIST=y
CONFIG_RCU_STALL_COMMON=y
CONFIG_RD_BZIP2=y
Expand Down
1 change: 0 additions & 1 deletion target/linux/mediatek/mt7623/config-5.10
Expand Up @@ -509,7 +509,6 @@ CONFIG_PWM_SYSFS=y
CONFIG_RAS=y
CONFIG_RATIONAL=y
CONFIG_RCU_CPU_STALL_TIMEOUT=21
# CONFIG_RCU_EXPERT is not set
CONFIG_RCU_NEED_SEGCBLIST=y
CONFIG_RCU_STALL_COMMON=y
CONFIG_REGMAP=y
Expand Down
1 change: 0 additions & 1 deletion target/linux/oxnas/ox810se/config-default
Expand Up @@ -6,6 +6,5 @@ CONFIG_CPU_IDLE_MULTIPLE_DRIVERS=y
CONFIG_EXT4_FS=y
CONFIG_FS_MBCACHE=y
CONFIG_MACH_OX810SE=y
# CONFIG_RCU_EXPERT is not set
# CONFIG_RCU_NEED_SEGCBLIST is not set
# CONFIG_RCU_STALL_COMMON is not set
1 change: 0 additions & 1 deletion target/linux/oxnas/ox820/config-default
Expand Up @@ -79,7 +79,6 @@ CONFIG_PCI_MSI_IRQ_DOMAIN=y
# CONFIG_PL310_ERRATA_769419 is not set
CONFIG_PM_SLEEP_SMP=y
CONFIG_RCU_CPU_STALL_TIMEOUT=21
# CONFIG_RCU_EXPERT is not set
CONFIG_RCU_NEED_SEGCBLIST=y
CONFIG_RCU_STALL_COMMON=y
CONFIG_RFS_ACCEL=y
Expand Down
1 change: 0 additions & 1 deletion target/linux/rockchip/armv8/config-5.10
Expand Up @@ -483,7 +483,6 @@ CONFIG_RAS=y
CONFIG_RATIONAL=y
# CONFIG_RAVE_SP_CORE is not set
CONFIG_RCU_CPU_STALL_TIMEOUT=21
# CONFIG_RCU_EXPERT is not set
CONFIG_RCU_NEED_SEGCBLIST=y
CONFIG_RCU_STALL_COMMON=y
CONFIG_RCU_TRACE=y
Expand Down
1 change: 0 additions & 1 deletion target/linux/rockchip/armv8/config-5.4
Expand Up @@ -463,7 +463,6 @@ CONFIG_RAS=y
CONFIG_RATIONAL=y
# CONFIG_RAVE_SP_CORE is not set
CONFIG_RCU_CPU_STALL_TIMEOUT=21
# CONFIG_RCU_EXPERT is not set
CONFIG_RCU_NEED_SEGCBLIST=y
CONFIG_RCU_STALL_COMMON=y
CONFIG_RCU_TRACE=y
Expand Down
1 change: 0 additions & 1 deletion target/linux/tegra/config-5.10
Expand Up @@ -350,7 +350,6 @@ CONFIG_PWM_TEGRA=y
CONFIG_RAS=y
CONFIG_RATIONAL=y
CONFIG_RCU_CPU_STALL_TIMEOUT=21
# CONFIG_RCU_EXPERT is not set
CONFIG_RCU_NEED_SEGCBLIST=y
CONFIG_RCU_STALL_COMMON=y
CONFIG_REGMAP=y
Expand Down
1 change: 0 additions & 1 deletion target/linux/tegra/config-5.4
Expand Up @@ -343,7 +343,6 @@ CONFIG_PWM_TEGRA=y
CONFIG_RAS=y
CONFIG_RATIONAL=y
CONFIG_RCU_CPU_STALL_TIMEOUT=21
# CONFIG_RCU_EXPERT is not set
CONFIG_RCU_NEED_SEGCBLIST=y
CONFIG_RCU_STALL_COMMON=y
CONFIG_REFCOUNT_FULL=y
Expand Down

0 comments on commit 7e135ad

Please sign in to comment.