diff options
author | Lucas Stach <l.stach@pengutronix.de> | 2023-02-01 18:26:07 +0300 |
---|---|---|
committer | Lucas Stach <l.stach@pengutronix.de> | 2023-02-07 22:49:20 +0300 |
commit | df622729ddbf6607c10670e52d2cb484b1abe7c7 (patch) | |
tree | 34757a17f69957d9d8eaeecd2e71003846ae0d2f /drivers/gpu/drm/scheduler | |
parent | 6b05266a0d6b6c02faa0a2749456dfc85277bae6 (diff) | |
download | linux-df622729ddbf6607c10670e52d2cb484b1abe7c7.tar.xz |
drm/scheduler: track GPU active time per entity
Track the accumulated time that jobs from this entity were active
on the GPU. This allows drivers using the scheduler to trivially
implement the DRM fdinfo when the hardware doesn't provide more
specific information than signalling job completion anyways.
[Bagas: Append missing colon to @elapsed_ns]
Signed-off-by: Bagas Sanjaya <bagasdotme@gmail.com>
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Reviewed-by: Andrey Grodzovsky <andrey.grodzovsky@amd.com>
Diffstat (limited to 'drivers/gpu/drm/scheduler')
-rw-r--r-- | drivers/gpu/drm/scheduler/sched_main.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/gpu/drm/scheduler/sched_main.c b/drivers/gpu/drm/scheduler/sched_main.c index 31f3a1267be4..cc5e77a30a66 100644 --- a/drivers/gpu/drm/scheduler/sched_main.c +++ b/drivers/gpu/drm/scheduler/sched_main.c @@ -895,6 +895,12 @@ drm_sched_get_cleanup_job(struct drm_gpu_scheduler *sched) spin_unlock(&sched->job_list_lock); + if (job) { + job->entity->elapsed_ns += ktime_to_ns( + ktime_sub(job->s_fence->finished.timestamp, + job->s_fence->scheduled.timestamp)); + } + return job; } |