Skip to content
Haiku OSDeep Dive July 12, 2026 1 min readViews unavailable

Haiku's Scheduler: Priorities, Real-Time Work, and Responsive Multimedia

How runnable threads, priorities, blocking, and CPU allocation affect Haiku's desktop and media workloads.

Haiku’s scheduler chooses among runnable threads; a thread waiting on a port, semaphore, timer, or I/O should not consume CPU. Priorities influence service, but raising every multimedia thread cannot create capacity and may starve the desktop.

Applications should block on events instead of polling, bound work on high-priority callbacks, and move decoding or disk I/O to appropriate workers. Priority inversion and locks held across slow operations can produce glitches that look like insufficient CPU.

Diagnose with thread state and timing, not total CPU alone. A single runnable loop can monopolize a core while a blocked real-time producer misses its deadline on another dependency.

Sources: Haiku/Be thread and team overview, Haiku kernel documentation