SchedCP - Automatically Optimize Linux Scheduler with MCP Server
WIP: We are building a benchmark for evaluating the optimizations for OS!
WIP: We are building a benchmark for evaluating the optimizations for OS!
SchedCP is an experimental project that enables AI optimization of Linux kernel schedulers using the sched-ext framework. It provides e2e automatic scheduler selection/synthesis, workload profiling, and performance optimization without any human intervention or guidance.
Paper: SchedCP: Towards Agentic OS
The future is not just about letting AI write code for you; the AI agent should act as your system administrator, able to optimize anything for you automatically, without requiring any manual intervention!
GitHub Repository: https://github.com/eunomia-bpf/schedcp ⭐
It includes the following tools:
- autotune - AI Agent-powered automatic OS optimization
- schedcp - MCP server for scheduler management and generation
Demo
Start optimize any workload with AI by simply run:
autotune/target/release/autotune cc "<your workload command>"
# example for linux build
autotune/target/release/autotune cc "make -C workloads/linux-build-bench/linux clean -j && make -C workloads/linux-build-bench/linux -j"
# example for schbench
autotune/target/release/autotune cc workloads/basic/schbench/schbenchAllow LLM Agent to auto select and config the best scheduler:

Allow LLM Agents to write new schedulers:
Features & design
- Automatic workload profiling
- Automatic scheduler selection based on workload characteristics
- Performance tracking across different schedulers
- Real-time scheduler management and generation

The current MCP tools include:
- list_schedulers - Get detailed information about all available schedulers
- run_scheduler - Start schedulers with custom configurations
- stop_scheduler - Stop running scheduler instances
- get_execution_status - Monitor scheduler performance and output
- create_and_verify_scheduler - Create custom BPF schedulers from source code
- system_monitor - Collect real-time CPU, memory, and scheduler metrics
- workload - Manage workload profiles and execution history
Installation
Requirements
- Linux kernel 6.12+ with sched-ext support
- Rust toolchain
The major dependencies are the dependencies for the sched-ext framework. You can check the github.com/sched-ext/scx for more details.
You also need to install the deps for the workloads you want to optimize.
Build
# Clone with submodules
git clone https://github.com/eunomia-bpf/schedcp
cd schedcp
git submodule update --init --recursive scheduler/scx
# Build schedulers
cd scheduler && make && make install && cd ..
# Build autotune
cd autotune && cargo build --release && cd ..
# Build MCP server
cd mcp && cargo build --release && cd ..Usage
You should run the claude-code on project root directory.
Autotune (Recommended)
# Set sudo password
export SCHEDCP_SUDO_PASSWORD="your_password"
# Optimize any workload
./autotune/target/release/autotune cc "<your workload command>"MCP Server
check the .mcp.json for more details. You can just open the claude-code on the
CLI Tool
export SCHEDCP_SUDO_PASSWORD="your_password"
# List schedulers
./mcp/target/release/schedcp-cli list
# Run a scheduler
./mcp/target/release/schedcp-cli run scx_rusty --sudo
# Check status
./mcp/target/release/schedcp-cli statusRelated Projects
- sched-ext - Linux kernel BPF scheduler framework
- Model Context Protocol - AI-application integration protocol
License
See LICENSE for details.
Continue exploring
Back to index
eBPF × AI/LLMs: The Convergence of System Observability and Artificial Intelligence
The convergence of Artificial Intelligence and eBPF is rapidly defining the next frontier in system software, creating a paradigm shift in both how we build and manage complex applications. As Large Language Models (LLMs
Previous
GPTtrace Documentation
Generate and run eBPF programs using natural language and AI. Trace your Linux system with GPT-powered automation and intelligent analysis.
- Last updated
- Oct 5, 2025
- First published
- Oct 5, 2025
- Contributors
- yunwei37
Was this page helpful?