aboutsummaryrefslogtreecommitdiffstats
path: root/dashboard/config/linux/bits
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2021-03-26 09:28:17 +0100
committerDmitry Vyukov <dvyukov@google.com>2021-03-26 10:07:10 +0100
commit1e99e36f41fbce4e003dfb8e80810fe0b7da7981 (patch)
tree102f827b2c53377bde09360fe3a7fdd37995d727 /dashboard/config/linux/bits
parent781cd014b6df5e8b6494e386c91126a6557a13e4 (diff)
dashboard/config/linux: disable CONFIG_PCPU_DEV_REFCNT, add netdev_unregister_timeout_secs
Disable CONFIG_PCPU_DEV_REFCNT, it should provide refcount underflow detection. Set netdev_unregister_timeout_secs to the timeout used for task hung detection, it should avoid false "unregister_netdevice: waiting for DEV to become free" crashes.
Diffstat (limited to 'dashboard/config/linux/bits')
-rw-r--r--dashboard/config/linux/bits/arm.yml2
-rw-r--r--dashboard/config/linux/bits/arm64.yml2
-rw-r--r--dashboard/config/linux/bits/base.yml2
-rw-r--r--dashboard/config/linux/bits/riscv64.yml2
-rw-r--r--dashboard/config/linux/bits/x86_64.yml4
5 files changed, 7 insertions, 5 deletions
diff --git a/dashboard/config/linux/bits/arm.yml b/dashboard/config/linux/bits/arm.yml
index e53da4dde..a67e4f954 100644
--- a/dashboard/config/linux/bits/arm.yml
+++ b/dashboard/config/linux/bits/arm.yml
@@ -8,7 +8,7 @@ shell:
config:
# We reduce number of vivid/netrom/rose/hcd devices to 2 because we use at most 2 procs
# with emulation and creating these devices takes time during boot.
- - CMDLINE: [append, "root=/dev/vda console=ttyAMA0 vmalloc=512M watchdog_thresh=165 workqueue.watchdog_thresh=420 dummy_hcd.num=2"]
+ - CMDLINE: [append, "root=/dev/vda console=ttyAMA0 vmalloc=512M watchdog_thresh=165 workqueue.watchdog_thresh=420 sysctl.net.core.netdev_unregister_timeout_secs=420 dummy_hcd.num=2"]
- CMDLINE_EXTEND
# See the comment in x86_64.yml re these numbers.
- RCU_CPU_STALL_TIMEOUT: 300
diff --git a/dashboard/config/linux/bits/arm64.yml b/dashboard/config/linux/bits/arm64.yml
index ebf6637b7..429e2bf6e 100644
--- a/dashboard/config/linux/bits/arm64.yml
+++ b/dashboard/config/linux/bits/arm64.yml
@@ -9,7 +9,7 @@ shell:
config:
# We reduce number of vivid/netrom/rose/hcd devices to 2 because we use at most 2 procs
# with emulation and creating these devices takes time during boot.
- - CMDLINE: [append, "root=/dev/vda console=ttyAMA0 watchdog_thresh=165 workqueue.watchdog_thresh=420 dummy_hcd.num=2"]
+ - CMDLINE: [append, "root=/dev/vda console=ttyAMA0 watchdog_thresh=165 workqueue.watchdog_thresh=420 sysctl.net.core.netdev_unregister_timeout_secs=420 dummy_hcd.num=2"]
# Was dropped in "arm64: Drop support for CMDLINE_EXTEND".
- CMDLINE_EXTEND: [-v5.12]
# See the comment in x86_64.yml re these numbers.
diff --git a/dashboard/config/linux/bits/base.yml b/dashboard/config/linux/bits/base.yml
index cec6fb19d..4d164d8bb 100644
--- a/dashboard/config/linux/bits/base.yml
+++ b/dashboard/config/linux/bits/base.yml
@@ -87,6 +87,8 @@ config:
# CONFIG_REFCOUNT_FULL was removed in fb041bb7c0a9.
- REFCOUNT_FULL: [-v5.5]
+ # Added in 919067cc845f ("net: add CONFIG_PCPU_DEV_REFCNT") and should appear in v5.13.
+ - PCPU_DEV_REFCNT: [n, linux-next]
# This config does not add any debug checks (only debug output).
- DEBUG_KOBJECT: n
diff --git a/dashboard/config/linux/bits/riscv64.yml b/dashboard/config/linux/bits/riscv64.yml
index cb7e2a397..361ebdbf6 100644
--- a/dashboard/config/linux/bits/riscv64.yml
+++ b/dashboard/config/linux/bits/riscv64.yml
@@ -6,7 +6,7 @@ shell:
- make kvm_guest.config
config:
- - CMDLINE: [append, "dummy_hcd.num=2 watchdog_thresh=165 workqueue.watchdog_thresh=420"]
+ - CMDLINE: [append, "dummy_hcd.num=2 watchdog_thresh=165 workqueue.watchdog_thresh=420 sysctl.net.core.netdev_unregister_timeout_secs=420"]
- CMDLINE_EXTEND
# See the comment in x86_64.yml re these numbers.
- RCU_CPU_STALL_TIMEOUT: 300
diff --git a/dashboard/config/linux/bits/x86_64.yml b/dashboard/config/linux/bits/x86_64.yml
index a7d67565b..22263e34d 100644
--- a/dashboard/config/linux/bits/x86_64.yml
+++ b/dashboard/config/linux/bits/x86_64.yml
@@ -10,7 +10,7 @@ config:
# root=/dev/sda is not necessary correct, but it's a common setting and user arguments are appended
# to the builtin command line, so user can always override this.
# vsyscall=native required to run x86_64 executables on android kernels (it disables VDSO by default).
- - CMDLINE: [append, "root=/dev/sda console=ttyS0 vsyscall=native numa=fake=2 kvm-intel.nested=1 spec_store_bypass_disable=prctl nopcid vivid.n_devs=16 vivid.multiplanar=1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2 netrom.nr_ndevs=16 rose.rose_ndevs=16 dummy_hcd.num=8 watchdog_thresh=55 workqueue.watchdog_thresh=140"]
+ - CMDLINE: [append, "root=/dev/sda console=ttyS0 vsyscall=native numa=fake=2 kvm-intel.nested=1 spec_store_bypass_disable=prctl nopcid vivid.n_devs=16 vivid.multiplanar=1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2 netrom.nr_ndevs=16 rose.rose_ndevs=16 dummy_hcd.num=8 watchdog_thresh=55 workqueue.watchdog_thresh=140 sysctl.net.core.netdev_unregister_timeout_secs=140"]
- CMDLINE_BOOL
# Deterministic hang/stall detection.
@@ -25,7 +25,7 @@ config:
# 2. Then softlockup detector.
# kernel.watchdog_thresh = 55 detects stalls after 110-132 secs.
#
- # 3. Then hung tasks and workqueue stalls.
+ # 3. Then hung tasks, workqueue stalls and netdev unregister hangs.
# Unfortunately we can't separate them because that would require setting "no output" timeout to 10+ minutes.
# watchdog_thresh=140 and DEFAULT_HUNG_TASK_TIMEOUT=140 both result in detection after 140-280 secs.
#