Get the latest tech news

Exposing concurrency bugs with a custom scheduler


Jake Hillion gave a presentation at FOSDEM about using sched_ext, the BPF scheduling framework that was introduced in kernel version 6.12, to help find elusive concurrency problems. In collaboration with Johannes Bechberger, he has built a scheduler that can reveal theoretically possible but unobserved concurrency bugs in test code in a few minutes.

By Daroc Alden February 5, 2025 Jake Hillion gave a presentation at FOSDEM about using sched_ext, the BPF scheduling framework that was introduced in kernel version 6.12, to help find elusive concurrency problems. But if a large enough machine has a scheduler that relies on rapidly updating global state, the hardware cost of synchronizing memory between different cores can actually delay things enough that the system won't recover before the softlockup detector trips. Hillion said that the next steps for the project are making it more reliable — scaling it to larger machines, trying to come up with ways to still cause as many problems with less performance overhead, and adding a seed for deterministic randomness.

Get the Android app

Or read this on Hacker News

Read more on:

Photo of concurrency bugs

concurrency bugs

Photo of custom scheduler

custom scheduler

Related news:

News photo

Solving Concurrency Bugs Using Schedules and Imagination