Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rimubytes/ebpf-scheduler
Minimal Linux scheduler using sched_ext and eBPF directly in C.
https://github.com/rimubytes/ebpf-scheduler
Last synced: about 2 months ago
JSON representation
Minimal Linux scheduler using sched_ext and eBPF directly in C.
- Host: GitHub
- URL: https://github.com/rimubytes/ebpf-scheduler
- Owner: rimubytes
- Created: 2024-10-28T17:43:33.000Z (2 months ago)
- Default Branch: main
- Last Pushed: 2024-10-28T19:09:03.000Z (2 months ago)
- Last Synced: 2024-10-28T19:22:31.436Z (2 months ago)
- Language: C
- Size: 1.95 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# eBPF-scheduler
This project provides a basic tutorial for building a minimal Linux scheduler using `sched_ext` and eBPF directly in C. The scheduler operates with a First-In-First-Out(FIFO) approach, essentially functioning as a round-robin scheduler by using a global scheduling queue to distribute tasks across CPUs.
## Overview
- The Scheduler:
- Utilizes a global dispatch queue (DSQ) from which each CPU fetches tasks to run
- Orders tasks based on a round-robin mechanism, dispatching tasks in a FIFO manner
- Adjusts each task's time slice according to the number of tasks in the queue, optimizing system responsiveness
---
### RequirementsTo build and run this custom scheduler, you'll need:
- A 6.12 kernel or a patched 6.11 kernel with `sched_ext` support
- Recent versions of `clang` for compilation and `bpftool` for attaching the scheduler.