[PATCH V4] drm/xe/uapi: Use hint for guc to set GT frequency
Lucas De Marchi
lucas.demarchi at intel.com
Mon Feb 24 15:51:50 UTC 2025
On Tue, Jan 21, 2025 at 11:26:32AM -0500, Rodrigo Vivi wrote:
>On Tue, Jan 21, 2025 at 06:46:05PM +0530, Tejas Upadhyay wrote:
>> Allow user to provide a low latency hint. When set,
>> KMD sends a hint to GuC which results in special handling for that process.
>> SLPC will ramp the GT frequency aggressively every time
>> it switches to this process.
>>
>> We need to enable the use of SLPC Compute strategy during init, but
>> it will apply only to processes that set this bit during process
>> creation.
>>
>> Improvement with this approach as below:
>>
>> Before,
>>
>> :~$ NEOReadDebugKeys=1 EnableDirectSubmission=0 clpeak --kernel-latency
>> Platform: Intel(R) OpenCL Graphics
>> Device: Intel(R) Graphics [0xe20b]
>> Driver version : 24.52.0 (Linux x64)
>> Compute units : 160
>> Clock frequency : 2850 MHz
>> Kernel launch latency : 283.16 us
>>
>> After,
>>
>> :~$ NEOReadDebugKeys=1 EnableDirectSubmission=0 clpeak --kernel-latency
>> Platform: Intel(R) OpenCL Graphics
>> Device: Intel(R) Graphics [0xe20b]
>> Driver version : 24.52.0 (Linux x64)
>> Compute units : 160
>> Clock frequency : 2850 MHz
>>
>> Kernel launch latency : 63.38 us
>>
>> UMD will indicate low latency hint with flag as mentioned below,
>>
>> * struct drm_xe_exec_queue_create exec_queue_create = {
>> * .flags = DRM_XE_EXEC_QUEUE_LOW_LATENCY_HINT or 0
>
>or 0 ?!
>
>> * .extensions = 0,
>> * .vm_id = vm,
>> * .num_bb_per_exec = 1,
>> * .num_eng_per_bb = 1,
>> * .instances = to_user_pointer(&instance),
>> * };
>> * ioctl(fd, DRM_IOCTL_XE_EXEC_QUEUE_CREATE, &exec_queue_create);
>
>What about moving this block to the uapi documentation?
>we shouldn't miss a good opportunity to document our uapi ;)
so.. the request was to move this from commit message to the uapi doc,
likely include/uapi/drm/xe_drm.h not Documentation/gpu/drm-uapi.rst
as it was done.
Lucas De Marchi
More information about the Intel-xe
mailing list