Intel Working On Updating Its GuC, Still Aiming To Transition To This Firmware-Based Scheduling
In addition to a lot of movement right now within the Intel kernel graphics driver around memory management handling for local memory / discrete GPUs, another big and ongoing area is improving the job submission and workload scheduling by making proper use of its GuC firmware capabilities and also integrating the DRM scheduler.
Last month was a nearly 100 patch series for GuC submission for their Intel Linux kernel graphics driver for this firmware that allows offloading some of the scheduling of contexts from the kernel driver and sort of an abstraction layer over the GPU. That GuC submission work is ongoing and the fruits of that is not ready for the upcoming 5.14 cycle so it won't be until at least 5.15 later in the year before that is all merged.
While this GuC submission will work for Gen11/Icelake and newer, at least for now the plan is not to enable that firmware-based scheduling by default unless booting with the i915.enable_guc=3 module option. The GuC submission appears to be primarily focused for optimal support with upcoming/future Intel graphics hardware.
The latest on the path to upstreaming the GuC submission work are new patches updating the kernel driver to supporting the GuC v62.0 firmware. This "latest and greatest" firmware does have backwards compatibility breaking changes due to a changed CTB communication protocol. And, yes before anyone asks, all indications are that GuC (and its HuC sibling) remain closed-source firmware.
Once this GuC submission is in place, they are working on making use of the existing DRM scheduler that was born out of the AMDGPU scheduler code but then punted into the common Direct Rendering Manager subsystem area so it can be used by other drivers. The Intel driver is planning on making use of the DRM scheduler in conjunction with the GuC-based work submission.
Lots of Intel kernel graphics driver changes abound this year with major reworks preparing for discrete graphics cards / accelerators and the next iteration of Xe Graphics within the likes of Alder Lake.
Last month was a nearly 100 patch series for GuC submission for their Intel Linux kernel graphics driver for this firmware that allows offloading some of the scheduling of contexts from the kernel driver and sort of an abstraction layer over the GPU. That GuC submission work is ongoing and the fruits of that is not ready for the upcoming 5.14 cycle so it won't be until at least 5.15 later in the year before that is all merged.
While this GuC submission will work for Gen11/Icelake and newer, at least for now the plan is not to enable that firmware-based scheduling by default unless booting with the i915.enable_guc=3 module option. The GuC submission appears to be primarily focused for optimal support with upcoming/future Intel graphics hardware.
The latest on the path to upstreaming the GuC submission work are new patches updating the kernel driver to supporting the GuC v62.0 firmware. This "latest and greatest" firmware does have backwards compatibility breaking changes due to a changed CTB communication protocol. And, yes before anyone asks, all indications are that GuC (and its HuC sibling) remain closed-source firmware.
Once this GuC submission is in place, they are working on making use of the existing DRM scheduler that was born out of the AMDGPU scheduler code but then punted into the common Direct Rendering Manager subsystem area so it can be used by other drivers. The Intel driver is planning on making use of the DRM scheduler in conjunction with the GuC-based work submission.
Lots of Intel kernel graphics driver changes abound this year with major reworks preparing for discrete graphics cards / accelerators and the next iteration of Xe Graphics within the likes of Alder Lake.
3 Comments