Speaker
Description
All GPU drivers need a load balancing mechanism for submitting jobs (i.e., command buffers) to their GPU. The shared infrastructure for this in the Linux kernel's DRM subsystem is the DRM GPU Scheduler. This component has accumulated a large number of problems over the course of a decade. The talk shall give an overview over the history of the scheduler and how the problems came to be. Moreover, it shows which problems were solved during the last 12 months, and which still persist. This part of the talk will also serve as an RFC for how we as kernel developers can work towards avoiding the most significant issues of the category the scheduler experienced.
Another important aspect of the GPU Scheduler that shall be highlighted is the addition of support for firmware scheduling: For GPUs whose firmware performs the actual scheduling (instead of the kernel being responsible for that), the DRM GPU Scheduler is not an actual scheduler anymore, but a mere load balancer. This motivates the introduction of a new, significantly simplified piece of DRM infrastructure: the DRM Jobqueue. The Jobqueue is intended to serve as a simpler, more robust replacement of the DRM GPU Scheduler. First intended users are upcoming drivers such as Nova, and, possibly, later also existing users of the GPU Scheduler.
GSoC, EVoC or Outreachy | No |
---|---|
In-person or virtual presentation | In-person |
Code of Conduct | Yes |