The DRM GPU Scheduler Got Beefed Up This Summer, More Improvements Possible
In addition to the VKMS driver for virtual kernel mode-setting, the other successful Google Summer of Code (GSoC) project this summer under the X.Org umbrella was improving the DRM GPU scheduler.
The DRM GPU scheduler is what was the AMDGPU scheduler before it was punted out into DRM common code so this GPU scheduler could be re-used by other Direct Rendering Manager drivers like Etnaviv and Linux-Lima. As part of GSoC 2018, Nayan Deshmukh worked on improvements to the DRM GPU scheduler with a particular focus on being able to feed one entity into multiple run queues.
The work was a success with the DRM GPU scheduler improvements made and AMD's Christian König then taking care of the driver-side bits. The work in turn was submitted upstream.
Some of the possible future work includes better load calculation, shifting of non-empty entities, load balancing when a job completes, and other TODOs.
Those interested in learning more about this GSoC 2018 work on the Linux DRM GPU scheduler can find the final overview via this blog post.
The DRM GPU scheduler is what was the AMDGPU scheduler before it was punted out into DRM common code so this GPU scheduler could be re-used by other Direct Rendering Manager drivers like Etnaviv and Linux-Lima. As part of GSoC 2018, Nayan Deshmukh worked on improvements to the DRM GPU scheduler with a particular focus on being able to feed one entity into multiple run queues.
The work was a success with the DRM GPU scheduler improvements made and AMD's Christian König then taking care of the driver-side bits. The work in turn was submitted upstream.
Some of the possible future work includes better load calculation, shifting of non-empty entities, load balancing when a job completes, and other TODOs.
Those interested in learning more about this GSoC 2018 work on the Linux DRM GPU scheduler can find the final overview via this blog post.
1 Comment