From: Rodrigo Vivi <rodrigo.vivi@intel.com>
To: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
Cc: <intel-xe@lists.freedesktop.org>, <jani.saarinen@intel.com>,
<matthew.auld@intel.com>, <lucas.demarchi@intel.com>
Subject: Re: [PATCH 1/2] drm/xe: Use run_ticks instead of runtime for client stats
Date: Fri, 24 May 2024 17:15:44 -0400 [thread overview]
Message-ID: <ZlEDgDx3fDtiQSEo@intel.com> (raw)
In-Reply-To: <20240524210949.1345804-1-umesh.nerlige.ramappa@intel.com>
On Fri, May 24, 2024 at 02:09:48PM -0700, Umesh Nerlige Ramappa wrote:
> 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.
First of all, thank you so much!
>
> While at it, drop the incorrect multi-lrc comment in the helper
> description
>
> Signed-off-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
> ---
> drivers/gpu/drm/xe/xe_device_types.h | 4 ++--
> drivers/gpu/drm/xe/xe_drm_client.c | 4 ++--
> drivers/gpu/drm/xe/xe_exec_queue.c | 12 ++++++------
> drivers/gpu/drm/xe/xe_exec_queue.h | 2 +-
> drivers/gpu/drm/xe/xe_execlist.c | 2 +-
> drivers/gpu/drm/xe/xe_guc_submit.c | 2 +-
> 6 files changed, 13 insertions(+), 13 deletions(-)
>
> diff --git a/drivers/gpu/drm/xe/xe_device_types.h b/drivers/gpu/drm/xe/xe_device_types.h
> index 03bedc33b21a..d0936d82cc1d 100644
> --- a/drivers/gpu/drm/xe/xe_device_types.h
> +++ b/drivers/gpu/drm/xe/xe_device_types.h
> @@ -556,8 +556,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;
> diff --git a/drivers/gpu/drm/xe/xe_drm_client.c b/drivers/gpu/drm/xe/xe_drm_client.c
> index af404c9e5cc0..5679e9b15d06 100644
> --- a/drivers/gpu/drm/xe/xe_drm_client.c
> +++ b/drivers/gpu/drm/xe/xe_drm_client.c
> @@ -252,7 +252,7 @@ static void show_runtime(struct drm_printer *p, struct drm_file *file)
while at it, could you please also update the function name?
with that,
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
> /* 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);
>
> diff --git a/drivers/gpu/drm/xe/xe_exec_queue.c b/drivers/gpu/drm/xe/xe_exec_queue.c
> index 0fd61fb4d104..841d3ea71e0d 100644
> --- a/drivers/gpu/drm/xe/xe_exec_queue.c
> +++ b/drivers/gpu/drm/xe/xe_exec_queue.c
> @@ -756,14 +756,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;
> @@ -789,7 +789,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)
> diff --git a/drivers/gpu/drm/xe/xe_exec_queue.h b/drivers/gpu/drm/xe/xe_exec_queue.h
> index e0f07d28ee1a..289a3a51d2a2 100644
> --- a/drivers/gpu/drm/xe/xe_exec_queue.h
> +++ b/drivers/gpu/drm/xe/xe_exec_queue.h
> @@ -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
> diff --git a/drivers/gpu/drm/xe/xe_execlist.c b/drivers/gpu/drm/xe/xe_execlist.c
> index bd7f27efe0e0..8e5c591fcecd 100644
> --- a/drivers/gpu/drm/xe/xe_execlist.c
> +++ b/drivers/gpu/drm/xe/xe_execlist.c
> @@ -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);
> }
>
> diff --git a/drivers/gpu/drm/xe/xe_guc_submit.c b/drivers/gpu/drm/xe/xe_guc_submit.c
> index 54778189cfd5..ee078a6d174a 100644
> --- a/drivers/gpu/drm/xe/xe_guc_submit.c
> +++ b/drivers/gpu/drm/xe/xe_guc_submit.c
> @@ -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);
> --
> 2.34.1
>
next prev parent reply other threads:[~2024-05-24 21:15 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-05-24 21:09 [PATCH 1/2] drm/xe: Use run_ticks instead of runtime for client stats Umesh Nerlige Ramappa
2024-05-24 21:09 ` [PATCH 2/2] drm/xe: Do not access xe file when updating exec queue run_ticks Umesh Nerlige Ramappa
2024-05-24 21:17 ` Rodrigo Vivi
2024-05-24 21:15 ` Rodrigo Vivi [this message]
2024-05-24 21:45 ` [PATCH 1/2] drm/xe: Use run_ticks instead of runtime for client stats Umesh Nerlige Ramappa
2024-05-24 21:24 ` ✓ CI.Patch_applied: success for series starting with [1/2] " Patchwork
2024-05-24 21:25 ` ✓ CI.checkpatch: " Patchwork
2024-05-24 21:26 ` ✓ CI.KUnit: " Patchwork
2024-05-24 21:37 ` ✓ CI.Build: " Patchwork
2024-05-24 21:40 ` ✓ CI.Hooks: " Patchwork
2024-05-24 21:42 ` ✓ CI.checksparse: " Patchwork
2024-05-24 22:04 ` ✓ CI.BAT: " Patchwork
2024-05-27 13:49 ` ✓ CI.FULL: " Patchwork
-- strict thread matches above, loose matches on Subject: below --
2024-05-24 21:14 [PATCH 0/2] Fix CI BAT regressions Umesh Nerlige Ramappa
2024-05-24 21:14 ` [PATCH 1/2] drm/xe: Use run_ticks instead of runtime for client stats Umesh Nerlige Ramappa
2024-05-24 23:47 Umesh Nerlige Ramappa
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ZlEDgDx3fDtiQSEo@intel.com \
--to=rodrigo.vivi@intel.com \
--cc=intel-xe@lists.freedesktop.org \
--cc=jani.saarinen@intel.com \
--cc=lucas.demarchi@intel.com \
--cc=matthew.auld@intel.com \
--cc=umesh.nerlige.ramappa@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.