blob: 275bd97ae62bac0bd7ac847f5790bb4a0ab3ad09 [file] [log] [blame]
# sched-ext mandatory options
#
CONFIG_BPF=y
CONFIG_BPF_SYSCALL=y
CONFIG_BPF_JIT=y
CONFIG_DEBUG_INFO_BTF=y
CONFIG_BPF_JIT_ALWAYS_ON=y
CONFIG_BPF_JIT_DEFAULT_ON=y
CONFIG_SCHED_CLASS_EXT=y
# Required by some rust schedulers (e.g. scx_p2dq)
#
CONFIG_KALLSYMS_ALL=y
# Required on arm64
#
# CONFIG_DEBUG_INFO_REDUCED is not set
# LAVD tracks futex to give an additional time slice for futex holder
# (i.e., avoiding lock holder preemption) for better system-wide progress.
# LAVD first tries to use ftrace to trace futex function calls.
# If that is not available, it tries to use a tracepoint.
CONFIG_FUNCTION_TRACER=y
# Enable scheduling debugging
#
CONFIG_SCHED_DEBUG=y
# Enable extra scheduling features (for a better code coverage while testing
# the schedulers)
#
CONFIG_SCHED_AUTOGROUP=y
CONFIG_SCHED_CORE=y
CONFIG_SCHED_MC=y
# Enable fully preemptible kernel for a better test coverage of the schedulers
#
# CONFIG_PREEMPT_NONE is not set
# CONFIG_PREEMPT_VOLUNTARY is not set
CONFIG_PREEMPT=y
CONFIG_PREEMPT_DYNAMIC=y
# Additional debugging information (useful to catch potential locking issues)
CONFIG_DEBUG_LOCKDEP=y
CONFIG_DEBUG_ATOMIC_SLEEP=y
CONFIG_PROVE_LOCKING=y
# Bpftrace headers (for additional debug info)
CONFIG_BPF_EVENTS=y
CONFIG_FTRACE_SYSCALLS=y
CONFIG_DYNAMIC_FTRACE=y
CONFIG_KPROBES=y
CONFIG_KPROBE_EVENTS=y
CONFIG_UPROBES=y
CONFIG_UPROBE_EVENTS=y
CONFIG_DEBUG_FS=y
# Enable access to kernel configuration and headers at runtime
CONFIG_IKHEADERS=y
CONFIG_IKCONFIG_PROC=y
CONFIG_IKCONFIG=y