]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
drm/xe: Use run_ticks instead of runtime for client stats
authorUmesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
Fri, 24 May 2024 23:47:43 +0000 (16:47 -0700)
committerUmesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
Mon, 27 May 2024 21:07:44 +0000 (14:07 -0700)
Note that runtime is also used in the pm context, so it is confusing to
use the same name to denote run time of the drm client. Use a more
appropriate name for the client utilization.

While at it, drop the incorrect multi-lrc comment in the helper
description

v2: s/show_runtime/show_run_ticks/ (Rodrigo)

Signed-off-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240524234744.1352543-1-umesh.nerlige.ramappa@intel.com
drivers/gpu/drm/xe/xe_device_types.h
drivers/gpu/drm/xe/xe_drm_client.c
drivers/gpu/drm/xe/xe_exec_queue.c
drivers/gpu/drm/xe/xe_exec_queue.h
drivers/gpu/drm/xe/xe_execlist.c
drivers/gpu/drm/xe/xe_guc_submit.c

index 3ff60da7d1cdb71a706f2aef5166b7facc5f9e1d..db12393217f51cc0da4fd83fbd7592930d200057 100644 (file)
@@ -559,8 +559,8 @@ struct xe_file {
                struct mutex lock;
        } exec_queue;
 
-       /** @runtime: hw engine class runtime in ticks for this drm client */
-       u64 runtime[XE_ENGINE_CLASS_MAX];
+       /** @run_ticks: hw engine class run time in ticks for this drm client */
+       u64 run_ticks[XE_ENGINE_CLASS_MAX];
 
        /** @client: drm client */
        struct xe_drm_client *client;
index af404c9e5cc0b6234a147473616706da44f59cdb..1dcae0e6d66dc7de488abd5374529aecda78abb3 100644 (file)
@@ -237,7 +237,7 @@ static void show_meminfo(struct drm_printer *p, struct drm_file *file)
        }
 }
 
-static void show_runtime(struct drm_printer *p, struct drm_file *file)
+static void show_run_ticks(struct drm_printer *p, struct drm_file *file)
 {
        unsigned long class, i, gt_id, capacity[XE_ENGINE_CLASS_MAX] = { };
        struct xe_file *xef = file->driver_priv;
@@ -252,7 +252,7 @@ static void show_runtime(struct drm_printer *p, struct drm_file *file)
        /* Accumulate all the exec queues from this client */
        mutex_lock(&xef->exec_queue.lock);
        xa_for_each(&xef->exec_queue.xa, i, q)
-               xe_exec_queue_update_runtime(q);
+               xe_exec_queue_update_run_ticks(q);
        mutex_unlock(&xef->exec_queue.lock);
 
        /* Get the total GPU cycles */
@@ -287,7 +287,7 @@ static void show_runtime(struct drm_printer *p, struct drm_file *file)
 
                class_name = xe_hw_engine_class_to_str(class);
                drm_printf(p, "drm-cycles-%s:\t%llu\n",
-                          class_name, xef->runtime[class]);
+                          class_name, xef->run_ticks[class]);
                drm_printf(p, "drm-total-cycles-%s:\t%llu\n",
                           class_name, gpu_timestamp);
 
@@ -310,6 +310,6 @@ static void show_runtime(struct drm_printer *p, struct drm_file *file)
 void xe_drm_client_fdinfo(struct drm_printer *p, struct drm_file *file)
 {
        show_meminfo(p, file);
-       show_runtime(p, file);
+       show_run_ticks(p, file);
 }
 #endif
index e3cebec3de24d71d9a3b99771afe0acf5d145d6c..f4359479318bdfb73f3648fcb50b01bc7605379a 100644 (file)
@@ -751,14 +751,14 @@ bool xe_exec_queue_is_idle(struct xe_exec_queue *q)
 }
 
 /**
- * xe_exec_queue_update_runtime() - Update runtime for this exec queue from hw
+ * xe_exec_queue_update_run_ticks() - Update run time in ticks for this exec queue
+ * from hw
  * @q: The exec queue
  *
- * Update the timestamp saved by HW for this exec queue and save runtime
- * calculated by using the delta from last update. On multi-lrc case, only the
- * first is considered.
+ * Update the timestamp saved by HW for this exec queue and save run ticks
+ * calculated by using the delta from last update.
  */
-void xe_exec_queue_update_runtime(struct xe_exec_queue *q)
+void xe_exec_queue_update_run_ticks(struct xe_exec_queue *q)
 {
        struct xe_file *xef;
        struct xe_lrc *lrc;
@@ -784,7 +784,7 @@ void xe_exec_queue_update_runtime(struct xe_exec_queue *q)
         */
        lrc = &q->lrc[0];
        new_ts = xe_lrc_update_timestamp(lrc, &old_ts);
-       xef->runtime[q->class] += (new_ts - old_ts) * q->width;
+       xef->run_ticks[q->class] += (new_ts - old_ts) * q->width;
 }
 
 void xe_exec_queue_kill(struct xe_exec_queue *q)
index e0f07d28ee1ad2ab1d57dbe6621b87590f562845..289a3a51d2a21b1f5c55094ca941851d1d14e358 100644 (file)
@@ -75,6 +75,6 @@ struct dma_fence *xe_exec_queue_last_fence_get(struct xe_exec_queue *e,
                                               struct xe_vm *vm);
 void xe_exec_queue_last_fence_set(struct xe_exec_queue *e, struct xe_vm *vm,
                                  struct dma_fence *fence);
-void xe_exec_queue_update_runtime(struct xe_exec_queue *q);
+void xe_exec_queue_update_run_ticks(struct xe_exec_queue *q);
 
 #endif
index bd7f27efe0e0c383fe98b31fd45690b6d0faf210..8e5c591fcecd88457ffa39f2d6bbc9be3949a69c 100644 (file)
@@ -306,7 +306,7 @@ static void execlist_job_free(struct drm_sched_job *drm_job)
 {
        struct xe_sched_job *job = to_xe_sched_job(drm_job);
 
-       xe_exec_queue_update_runtime(job->q);
+       xe_exec_queue_update_run_ticks(job->q);
        xe_sched_job_put(job);
 }
 
index 53ab98c5ef5ec8e3017de9551e15993b3d05c4a8..72aa2f91832c5243fcb5c5989bbbc0ffb44525ae 100644 (file)
@@ -763,7 +763,7 @@ static void guc_exec_queue_free_job(struct drm_sched_job *drm_job)
 {
        struct xe_sched_job *job = to_xe_sched_job(drm_job);
 
-       xe_exec_queue_update_runtime(job->q);
+       xe_exec_queue_update_run_ticks(job->q);
 
        trace_xe_sched_job_free(job);
        xe_sched_job_put(job);