diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2021-03-26 09:28:17 +0100 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2021-03-26 10:07:10 +0100 |
| commit | 1e99e36f41fbce4e003dfb8e80810fe0b7da7981 (patch) | |
| tree | 102f827b2c53377bde09360fe3a7fdd37995d727 /dashboard/config/linux/bits | |
| parent | 781cd014b6df5e8b6494e386c91126a6557a13e4 (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.yml | 2 | ||||
| -rw-r--r-- | dashboard/config/linux/bits/arm64.yml | 2 | ||||
| -rw-r--r-- | dashboard/config/linux/bits/base.yml | 2 | ||||
| -rw-r--r-- | dashboard/config/linux/bits/riscv64.yml | 2 | ||||
| -rw-r--r-- | dashboard/config/linux/bits/x86_64.yml | 4 |
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. # |
