Silk
A cooperative fiber scheduler for Linux with per-CPU scheduler threads, io_uring integration, and topology-aware work-stealing. Fibers are lightweight stackful coroutines that suspend rather than block their OS thread, enabling high concurrency with low overhead.
Documentation
docs/scheduler.md — scheduler loop, context switching, suspension pattern, async IO, sleep cancellation, work-stealing design, and performance benchmarks
— scheduler loop, context switching, suspension pattern, async IO, sleep cancellation, work-stealing design, and performance benchmarks docs/sync.md — synchronization primitives: FiberFuture , FiberFutex , FiberMutex , FiberSequencer , FiberEvent , FairFiberMutex
— synchronization primitives: , , , , , docs/util.md — utility library: lock-free data structures, TSC timing, memory pool, CPU topology, logging, assertions
— utility library: lock-free data structures, TSC timing, memory pool, CPU topology, logging, assertions docs/perf.md — net-perf and file-perf benchmark results and fio comparison
— and benchmark results and fio comparison docs/coroutines.md — stackless coroutines vs stackful fibers: design differences and performance data
— stackless coroutines vs stackful fibers: design differences and performance data src/fibers/tests/ — usage examples: fiber lifecycle, futures, synchronization primitives, async IO
— usage examples: fiber lifecycle, futures, synchronization primitives, async IO src/gdb/fiber.py — GDB extension; load with source src/gdb/fiber.py , then use fiber-list , fiber-savecontext , fiber-restorecontext , fiber-switchcontext
... continue reading