Skip to content

Commit ee0ff66

Browse files
EricccTaiwanhtejun
authored andcommitted
tools/sched_ext: Add Kconfig to sync with upstream
Add the missing Kconfig file to tools/sched_ext/ as referenced in the README. Ref: https://github.com/sched-ext/scx/blob/main/kernel.config Signed-off-by: Cheng-Yang Chou <yphbchou0911@gmail.com> Signed-off-by: Tejun Heo <tj@kernel.org>
1 parent 095f569 commit ee0ff66

1 file changed

Lines changed: 61 additions & 0 deletions

File tree

tools/sched_ext/Kconfig

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
# sched-ext mandatory options
2+
#
3+
CONFIG_BPF=y
4+
CONFIG_BPF_SYSCALL=y
5+
CONFIG_BPF_JIT=y
6+
CONFIG_DEBUG_INFO_BTF=y
7+
CONFIG_BPF_JIT_ALWAYS_ON=y
8+
CONFIG_BPF_JIT_DEFAULT_ON=y
9+
CONFIG_SCHED_CLASS_EXT=y
10+
11+
# Required by some rust schedulers (e.g. scx_p2dq)
12+
#
13+
CONFIG_KALLSYMS_ALL=y
14+
15+
# Required on arm64
16+
#
17+
# CONFIG_DEBUG_INFO_REDUCED is not set
18+
19+
# LAVD tracks futex to give an additional time slice for futex holder
20+
# (i.e., avoiding lock holder preemption) for better system-wide progress.
21+
# LAVD first tries to use ftrace to trace futex function calls.
22+
# If that is not available, it tries to use a tracepoint.
23+
CONFIG_FUNCTION_TRACER=y
24+
25+
# Enable scheduling debugging
26+
#
27+
CONFIG_SCHED_DEBUG=y
28+
29+
# Enable extra scheduling features (for a better code coverage while testing
30+
# the schedulers)
31+
#
32+
CONFIG_SCHED_AUTOGROUP=y
33+
CONFIG_SCHED_CORE=y
34+
CONFIG_SCHED_MC=y
35+
36+
# Enable fully preemptible kernel for a better test coverage of the schedulers
37+
#
38+
# CONFIG_PREEMPT_NONE is not set
39+
# CONFIG_PREEMPT_VOLUNTARY is not set
40+
CONFIG_PREEMPT=y
41+
CONFIG_PREEMPT_DYNAMIC=y
42+
43+
# Additional debugging information (useful to catch potential locking issues)
44+
CONFIG_DEBUG_LOCKDEP=y
45+
CONFIG_DEBUG_ATOMIC_SLEEP=y
46+
CONFIG_PROVE_LOCKING=y
47+
48+
# Bpftrace headers (for additional debug info)
49+
CONFIG_BPF_EVENTS=y
50+
CONFIG_FTRACE_SYSCALLS=y
51+
CONFIG_DYNAMIC_FTRACE=y
52+
CONFIG_KPROBES=y
53+
CONFIG_KPROBE_EVENTS=y
54+
CONFIG_UPROBES=y
55+
CONFIG_UPROBE_EVENTS=y
56+
CONFIG_DEBUG_FS=y
57+
58+
# Enable access to kernel configuration and headers at runtime
59+
CONFIG_IKHEADERS=y
60+
CONFIG_IKCONFIG_PROC=y
61+
CONFIG_IKCONFIG=y

0 commit comments

Comments
 (0)