Intel Posts Nearly 100 Patches For GuC Submission, Works To Integrate DRM Scheduler
Intel's open-source graphics driver developers volleyed an initial set of nearly 100 experimental patches working on GuC submission support as they work towards integrating the DRM scheduler into their graphics driver.
GuC has been around since Skylake Gen9 graphics work workload scheduling and other tasks. Intel engineers describe the GuC as "a piece of firmware which sits between the i915 [Linux kernel graphics driver] and the GPU. It offloads some of the scheduling of contexts from the i915 and programs the GPU to submit contexts. The i915 communicates with the GuC and the GuC communicates with the GPU." The GuC (and HuC) work for the Linux driver stack has been going on for years.
The 97 patches sent out yesterday are preparing to use the GuC for job submission for their kernel graphics driver. The functionality though is disabled by default unless using the i915.enable_guc=3 module option. Assuming the GuC firmware is present on the system, it should be working well for Icelake / Gen11 graphics and newer. Ultimately they are working towards an automatic mode for enabling GuC/HuC functionality where supported well and with firmware present on the system.
The 97 patches are currently under a "request for comments" flag with this invasive series changing around how job submission is handled to the Intel graphics hardware.
Ultimately this is a step towards their plans for DRM scheduler integration by their driver. The DRM scheduler is what was the AMDGPU scheduler before being punted out a while ago into becoming a more common Direct Rendering Manager scheduler for use by other drivers.
There still is more work to go before this scheduler rework to the Intel graphics driver is ready to land, but it's a work-in-progress and ultimately should help with the performance especially with Intel's forthcoming higher performance discrete graphics processors will the need of a better scheduler become all the more important.
GuC has been around since Skylake Gen9 graphics work workload scheduling and other tasks. Intel engineers describe the GuC as "a piece of firmware which sits between the i915 [Linux kernel graphics driver] and the GPU. It offloads some of the scheduling of contexts from the i915 and programs the GPU to submit contexts. The i915 communicates with the GuC and the GuC communicates with the GPU." The GuC (and HuC) work for the Linux driver stack has been going on for years.
The 97 patches sent out yesterday are preparing to use the GuC for job submission for their kernel graphics driver. The functionality though is disabled by default unless using the i915.enable_guc=3 module option. Assuming the GuC firmware is present on the system, it should be working well for Icelake / Gen11 graphics and newer. Ultimately they are working towards an automatic mode for enabling GuC/HuC functionality where supported well and with firmware present on the system.
The 97 patches are currently under a "request for comments" flag with this invasive series changing around how job submission is handled to the Intel graphics hardware.
Ultimately this is a step towards their plans for DRM scheduler integration by their driver. The DRM scheduler is what was the AMDGPU scheduler before being punted out a while ago into becoming a more common Direct Rendering Manager scheduler for use by other drivers.
There still is more work to go before this scheduler rework to the Intel graphics driver is ready to land, but it's a work-in-progress and ultimately should help with the performance especially with Intel's forthcoming higher performance discrete graphics processors will the need of a better scheduler become all the more important.
3 Comments