Skip to content

Update docs on kernel CONFIG options used by the schedulers #2952

@AdelKS

Description

@AdelKS

@multics69 Picking the discussion I started here because it probably makes more sense to be here

If the workload heavily relies on futex

I assume futex_waitv is part of it ? how about ntsync ?

Also, are the needed kernel config options up-to-date somewhere ? I know of this file https://github.com/sched-ext/scx/blob/main/kernel.config

here's a snippet

# Bpftrace headers (for additional debug info)
CONFIG_BPF=y
CONFIG_BPF_SYSCALL=y
CONFIG_BPF_JIT=y
CONFIG_HAVE_EBPF_JIT=y
CONFIG_BPF_EVENTS=y
CONFIG_FTRACE_SYSCALLS=y
CONFIG_FUNCTION_TRACER=y
CONFIG_HAVE_DYNAMIC_FTRACE=y
CONFIG_DYNAMIC_FTRACE=y
CONFIG_HAVE_KPROBES=y
CONFIG_KPROBES=y
CONFIG_KPROBE_EVENTS=y
CONFIG_ARCH_SUPPORTS_UPROBES=y
CONFIG_UPROBES=y
CONFIG_UPROBE_EVENTS=y
CONFIG_DEBUG_FS=y
# more bpftrace to make that work
CONFIG_IKHEADERS=y
CONFIG_IKCONFIG_PROC=y
CONFIG_IKCONFIG=y

but it doesn't seem to be up-to-date, at least in the comments: I suggest that config options that aren't actually for debugging only should be moved up in that file so we know they are used outside of debugging.

Are there other config options that are actually required ? The full list that is under FTRACE is here https://github.com/gregkh/linux/blob/master/kernel/trace/Kconfig

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions