Skip to main content

Concurrency Testing using Custom Linux Schedulers

UD6.215 | Day 1 | 12:20 - 12:45 | Speakers: Johannes Bechberger, Jake Hillion

Concurrency Testing using Custom Linux Schedulers
A picture of a devroom at FOSDEM 2024
Open in browser

Notes

Abstract

Consider you want to have a concurrency bug that requires threads to run in a specific order. Wouldn't it be great if you could stop and start threads at random? Prevent them from being scheduled onto the CPU? And the best part: Without the application being able to prevent this, like it could do with POSIX STOP and START signals? In come the scheduler extensions for the Linux Kernel. Introduced in version 6.12, they allow you to quickly write your own schedulers with eBPF, and can be the base for simple libraries that enable you to start and stop threads directly in the Linux kernel. This opens the possibility of creating complex scheduler scenarios at a whim.

In this talk, we'll show you a prototypical sched_ext-based library for concurrency testing.

Attachments

Speakers

Johannes Bechberger
Jake Hillion

Notice: The placeholder video image is licensed under CC BY-SA 4.0. The original image can be found hereChanges made to the image are: Cropped the image to a new ratio, part of the image was cut off.