by eunomia-bpf
MCP Server for Linux Scheduler Management and Auto optimization
# Add to your Claude Code skills
git clone https://github.com/eunomia-bpf/schedcpWIP: 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!
It includes the following tools:
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/schbench
Allow LLM Agent to auto select and config the best scheduler:

Allow LLM Agents to write new schedulers:

The current MCP tools include:
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.
# 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_GUIDE.md - Complete guide on how to use schedulers
PROJECT_STRUCTURE.md - Detailed project organization
AI_AGENTS.md - AI agent implementation
You should run the claude-code on project root directory.
# Set sudo password
export SCHEDCP_SUDO_PASSWORD="your_password"
# Optimize any workload
./autotune/target/release/autotune cc "<your workload command>"
check the .mcp.json for more details. You can just open the claude-code on the
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
# Monitor system metrics
./mcp/target/release/schedcp-cli monitor
For detailed usage instructions, see USAGE_GUIDE.md.
Artifact for reproducing results from "Towards Agentic OS: An LLM Agent Framework for Linux Schedulers" (arXiv:2509.01245).
workloads/linux-build-bench/autotune/target/release/autotune cc "make -C workloads/linux-build-bench/linux -j"workloads/basic/schbench_test/autotune/target/release/autotune cc "workloads/basic/schbench/schbench"workloads/processing/workloads/processing/README.md. The schedulers there are already generated by Claude Code. The original version was letting Claude Code generate them first and run the workloads with benchmarks mannually.
See LICENSE for details.
No comments yet. Be the first to share your thoughts!
Top skills in this category by stars