github.com/google/syzkaller@v0.0.0-20240517125934-c0f1611a36d6/dashboard/config/linux/bits/timeouts_native.yml (about)

     1  # Copyright 2022 syzkaller project authors. All rights reserved.
     2  # Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file.
     3  
     4  config:
     5   - CMDLINE: [append, "smp.csd_lock_timeout=100000 watchdog_thresh=55 workqueue.watchdog_thresh=140 sysctl.net.core.netdev_unregister_timeout_secs=140 dummy_hcd.num=8"]
     6   # Deterministic hang/stall detection.
     7   # Without careful tuning the same hang/stall can be detected in multiple, radically-different ways.
     8   # For example, an infinite loop can be detected as CPU stall, RCU stall, hung task or workqueue stall.
     9   # This may lead to lots of duplicate bugs. In order to prevent this we strictly order hang/stall detection
    10   # timeouts based on their causality (CPU stall can cause hung task, but not vise versa). See #516 for details.
    11   #
    12   # 1. RCU stalls has the highest priority.
    13   #    RCU_CPU_STALL_TIMEOUT=100 results in stalls detected after 100-101 secs.
    14   #    This also includes CSD lock timeout (CONFIG_CSD_LOCK_WAIT_DEBUG + smp.csd_lock_timeout=100000(ms)).
    15   #
    16   # 2. Then softlockup detector.
    17   #    kernel.watchdog_thresh = 55 detects stalls after 110-132 secs.
    18   #
    19   # 3. Then hung tasks, workqueue stalls and netdev unregister hangs.
    20   #    Unfortunately we can't separate them because that would require setting "no output" timeout to 10+ minutes.
    21   #    watchdog_thresh=140 and DEFAULT_HUNG_TASK_TIMEOUT=140 both result in detection after 140-280 secs.
    22   #
    23   # 4. Finally, "no output" crashes.
    24   #    sys/targets.Timeouts.NoOutput is set to 300 secs.
    25   #
    26   # Don't change these values without considering all other values as well.
    27   # Note: executor also sets hung_task_check_interval_secs=20 sysctl.
    28   # Note: gVisor watchdog timeout is 3 mins + 1/4 of that for checking period = 3m45s.
    29   # Note: other arches that use qemu emulation scale all these timeouts by 3 (sys/targets.Timeouts.Scale).
    30   - RCU_CPU_STALL_TIMEOUT: 100
    31   # The constraints repeat constraints on inclusion of debug.yml which enables hung task detection.
    32   - DEFAULT_HUNG_TASK_TIMEOUT: [140, -nonoise, -kmsan, -kcsan, -kmemleak]
    33   # By default it is set to a too small value, which causes tons of
    34   # `rcu_preempt detected expedited stalls on CPUs/tasks`.
    35   # TODO: `rcu: Allow up to five minutes expedited RCU CPU stall-warning timeouts` lets us set more than 21k,
    36   # but we first need to change the config generation tool to support multiple possible parameter values.
    37   - RCU_EXP_CPU_STALL_TIMEOUT: [21000, v5.19]