aboutsummaryrefslogtreecommitdiffstats
path: root/dashboard/config/linux/bits/x86_64.yml
blob: b0391e5d87d86c58219a18db7a56f321c4cd2c3b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
# Copyright 2020 syzkaller project authors. All rights reserved.
# Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file.

shell:
 - make x86_64_defconfig: [-nodefconfig]
 - make kvm_guest.config

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 sysctl.net.core.netdev_unregister_timeout_secs=140"]
 - CMDLINE_BOOL

 # Deterministic hang/stall detection.
 # Without careful tuning the same hang/stall can be detected in multiple, radically-different ways.
 # For example, an infinite loop can be detected as CPU stall, RCU stall, hung task or workqueue stall.
 # This may lead to lots of duplicate bugs. In order to prevent this we strictly order hang/stall detection
 # timeouts based on their causality (CPU stall can cause hung task, but not vise versa). See #516 for details.
 #
 # 1. RCU stalls has the highest priority.
 #    RCU_CPU_STALL_TIMEOUT=100 results in stalls detected after 100-101 secs.
 #
 # 2. Then softlockup detector.
 #    kernel.watchdog_thresh = 55 detects stalls after 110-132 secs.
 #
 # 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.
 #
 # 4. Finally, "no output" crashes.
 #    sys/targets.Timeouts.NoOutput is set to 300 secs.
 #
 # Don't change these values without considering all other values as well.
 # Note: executor also sets hung_task_check_interval_secs=20 sysctl.
 # Note: gVisor watchdog timeout is 3 mins + 1/4 of that for checking period = 3m45s.
 # Note: other arches that use qemu emulation scale all these timeouts by 3 (sys/targets.Timeouts.Scale).
 - RCU_CPU_STALL_TIMEOUT: 100
 # The constraints repeat constraints on inclusion of debug.yml which enables hung task detection.
 - DEFAULT_HUNG_TASK_TIMEOUT: [140, -nonoise, -kmsan, -kcsan, -kmemleak]

 # Should be faster this way.
 - MCORE2
 - BASE_FULL

 # 32-on-64 support (compat).
 - IA32_EMULATION
 # X86_X32 renamed to X86_X32_ABI in v5.18
 - X86_X32: [-baseline, -v5.18]
 - X86_X32_ABI: [-baseline, v5.18]

 # Moved from legacy config, reason for enabling is unknown.
 - KALLSYMS_ABSOLUTE_PERCPU
 - X86_MSR
 - X86_CPUID
 - X86_5LEVEL: n

 # Should be faster this way.
 - PARAVIRT_SPINLOCKS
 - PARAVIRT_DEBUG

 - PROCESSOR_SELECT
 - CPU_SUP_HYGON: n
 - CPU_SUP_CENTAUR: n
 - CPU_SUP_ZHAOXIN: n

 # Required to boot Debian Wheezy.
 - X86_VSYSCALL_EMULATION

 # Intel network support.
 # TODO: should we switch to virtio instead?
 - ETHERNET
 - NET_VENDOR_INTEL
 - E1000

 - X86_ACPI_CPUFREQ
 - CPU_IDLE_GOV_HALTPOLL: [v4.16]
 - X86_INTEL_TSX_MODE_ON: [v4.16]
 - INTEL_IDLE
 - LEGACY_VSYSCALL_EMULATE
 - EFI: n

 - TRACE_EVENT_INJECT: [v5.5]
 - PM_TRACE_RTC: [optional]