Starting in Linux version 3.14, a new scheduling class was introduced. This class is called SCHED_DEADLINE. It implements Earliest Deadline First (EDF) along with a Constant Bandwidth Scheduler (CBS) that is used to give applications a guaranteed amount of CPU for a periodic time frame. This type of scheduling is advantageous for robotics, media players and recorders, as well as virtual machine guest management. This talk will explain the history of SCHED_DEADLINE and compare it with various other methods to deal with periodic deadlines. It will also discuss some of the current issues with the current Linux implementation and some of the improvements that are currently being worked on.

Since its conception, SCHED_DEADLINE was not being used at all. I know this because as soon as I started using it, I discovered several bugs within the code (the fixes have now been upstreamed). But the fact that these bugs have been in the kernel for so long tells me that this wonderful feature is not well known. This talk is to help spread the word, and perhaps more people can take advantage of the SCHED_DEADLINE power.

Steven Rostedt, VMware

[slideshare id=80558452&doc=embedded-recipes-using-sched-deadline-2017-171007141941&w=650&h=500]