[PATCH v3 5/6] drm/xe: Add helper to accumulate exec queue runtime
Lucas De Marchi
lucas.demarchi at intel.com
Wed May 8 03:29:51 UTC 2024
On Tue, May 07, 2024 at 04:45:36PM GMT, Umesh Nerlige Ramappa wrote:
>On Tue, May 07, 2024 at 03:45:09PM -0700, Lucas De Marchi wrote:
>>From: Umesh Nerlige Ramappa <umesh.nerlige.ramappa at intel.com>
>>
>>Add a helper to accumulate per-client runtime of all its
>>exec queues. This is called every time a sched job is finished.
>>
>>v2:
>> - Use guc_exec_queue_free_job() and execlist_job_free() to accumulate
>> runtime when job is finished since xe_sched_job_completed() is not a
>> notification that job finished.
>> - Stop trying to update runtime from xe_exec_queue_fini() - that is
>> redundant and may happen after xef is closed, leading to a
>> use-after-free
>> - Do not special case the first timestamp read: the default LRC sets
>> CTX_TIMESTAMP to zero, so even the first sample should be a valid
>> one.
>> - Handle the parallel submission case by multiplying the runtime by
>> width.
>>
>>Signed-off-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa at intel.com>
>>Signed-off-by: Lucas De Marchi <lucas.demarchi at intel.com>
>>---
>>drivers/gpu/drm/xe/xe_device_types.h | 9 +++++++
>>drivers/gpu/drm/xe/xe_exec_queue.c | 35 ++++++++++++++++++++++++++++
>>drivers/gpu/drm/xe/xe_exec_queue.h | 1 +
>>drivers/gpu/drm/xe/xe_execlist.c | 1 +
>>drivers/gpu/drm/xe/xe_guc_submit.c | 2 ++
>>5 files changed, 48 insertions(+)
>>
>>diff --git a/drivers/gpu/drm/xe/xe_device_types.h b/drivers/gpu/drm/xe/xe_device_types.h
>>index 906b98fb973b..de078bdf0ab9 100644
>>--- a/drivers/gpu/drm/xe/xe_device_types.h
>>+++ b/drivers/gpu/drm/xe/xe_device_types.h
>>@@ -560,6 +560,15 @@ struct xe_file {
>> struct mutex lock;
>> } exec_queue;
>>
>>+ /**
>>+ * @runtime: hw engine class runtime in ticks for this drm client
>>+ *
>>+ * Only stats from xe_exec_queue->lrc[0] are accumulated. For multi-lrc
>>+ * case, since all jobs run in parallel on the engines, only the stats
>>+ * from lrc[0] are sufficient.
>
>Maybe we can drop the above comment altogether after the multi-lrc
>update.
right... I removed it from the middle of the function and this was a
leftover. I will remove it on next version.
thanks
Lucas De Marchi
>
>Umesh
More information about the dri-devel
mailing list