Re: [RFC PATCH 1/2] drm/xe/guc: Use exec queue hints for GT frequency

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Jan 08, 2025 at 08:36:02PM +0530, Tejas Upadhyay wrote:
Allow user to provide a low latency hint per exec queue. When set,
KMD sends a hint to GuC which results in special handling for this
exec queue. SLPC will ramp the GT frequency aggressively every time
it switches to this exec queue.

We need to enable the use of SLPC Compute strategy during init, but
it will apply only to exec queues that set this bit during exec queue
creation.

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
*          .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);

Note: UMD is implementing respecitve usage example, once pull request is
ready, will reference here.

motivation here is needed... the compute workload is bursty and
benefit from aggressive GT frequency ramp rather than the slower one,
which reduces the submission latency. Feel free to add the numbers
before and after with a hacked userspace/kernel integration showing how
the kernel latency reduces in clpeak.

Cc: Michal Mrozek <michal.mrozek@xxxxxxxxx>
Cc: Szymon Morek <szymon.morek@xxxxxxxxx>

For i915 there's also this use on the mesa side:
https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28282

Cc: José Roberto de Souza <jose.souza@xxxxxxxxx> to know if it'd
be interesting for them when using xe.

Lucas De Marchi



[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux