All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Ville Syrjälä" <ville.syrjala@linux.intel.com>
To: Erico Nunes <nunes.erico@gmail.com>
Cc: David Airlie <airlied@linux.ie>,
	linux-kernel@vger.kernel.org, Qiang Yu <yuq825@gmail.com>,
	dri-devel@lists.freedesktop.org, lima@lists.freedesktop.org
Subject: Re: [PATCH 1/3] drm/lima: add usage counting method to ctx_mgr
Date: Tue, 4 Apr 2023 00:16:39 +0300	[thread overview]
Message-ID: <ZCtCNx5JUKFcoCCp@intel.com> (raw)
In-Reply-To: <20230312233052.21095-2-nunes.erico@gmail.com>

On Mon, Mar 13, 2023 at 12:30:50AM +0100, Erico Nunes wrote:
> lima maintains a context manager per drm_file, similar to amdgpu.
> In order to account for the complete usage per drm_file, all of the
> associated contexts need to be considered.
> Previously released contexts also need to be accounted for but their
> drm_sched_entity info is gone once they get released, so account for it
> in the ctx_mgr.
> 
> Signed-off-by: Erico Nunes <nunes.erico@gmail.com>
> ---
>  drivers/gpu/drm/lima/lima_ctx.c | 30 +++++++++++++++++++++++++++++-
>  drivers/gpu/drm/lima/lima_ctx.h |  3 +++
>  2 files changed, 32 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/lima/lima_ctx.c b/drivers/gpu/drm/lima/lima_ctx.c
> index 891d5cd5019a..e008e586fad0 100644
> --- a/drivers/gpu/drm/lima/lima_ctx.c
> +++ b/drivers/gpu/drm/lima/lima_ctx.c
> @@ -15,6 +15,7 @@ int lima_ctx_create(struct lima_device *dev, struct lima_ctx_mgr *mgr, u32 *id)
>  	if (!ctx)
>  		return -ENOMEM;
>  	ctx->dev = dev;
> +	ctx->mgr = mgr;
>  	kref_init(&ctx->refcnt);
>  
>  	for (i = 0; i < lima_pipe_num; i++) {
> @@ -42,10 +43,17 @@ int lima_ctx_create(struct lima_device *dev, struct lima_ctx_mgr *mgr, u32 *id)
>  static void lima_ctx_do_release(struct kref *ref)
>  {
>  	struct lima_ctx *ctx = container_of(ref, struct lima_ctx, refcnt);
> +	struct lima_ctx_mgr *mgr = ctx->mgr;
>  	int i;
>  
> -	for (i = 0; i < lima_pipe_num; i++)
> +	for (i = 0; i < lima_pipe_num; i++) {
> +		struct lima_sched_context *context = &ctx->context[i];
> +		struct drm_sched_entity *entity = &context->base;
> +
> +		mgr->elapsed_ns[i] += entity->elapsed_ns;

drm-tip build is now broken because of this vs. 
commit baad10973fdb ("Revert "drm/scheduler: track GPU active time per entity"")

../drivers/gpu/drm/lima/lima_ctx.c: In function ‘lima_ctx_do_release’:
../drivers/gpu/drm/lima/lima_ctx.c:53:45: error: ‘struct
drm_sched_entity’ has no member named ‘elapsed_ns’
   53 |                 mgr->elapsed_ns[i] += entity->elapsed_ns;

-- 
Ville Syrjälä
Intel

WARNING: multiple messages have this Message-ID (diff)
From: "Ville Syrjälä" <ville.syrjala@linux.intel.com>
To: Erico Nunes <nunes.erico@gmail.com>
Cc: Qiang Yu <yuq825@gmail.com>,
	dri-devel@lists.freedesktop.org, David Airlie <airlied@linux.ie>,
	lima@lists.freedesktop.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 1/3] drm/lima: add usage counting method to ctx_mgr
Date: Tue, 4 Apr 2023 00:16:39 +0300	[thread overview]
Message-ID: <ZCtCNx5JUKFcoCCp@intel.com> (raw)
In-Reply-To: <20230312233052.21095-2-nunes.erico@gmail.com>

On Mon, Mar 13, 2023 at 12:30:50AM +0100, Erico Nunes wrote:
> lima maintains a context manager per drm_file, similar to amdgpu.
> In order to account for the complete usage per drm_file, all of the
> associated contexts need to be considered.
> Previously released contexts also need to be accounted for but their
> drm_sched_entity info is gone once they get released, so account for it
> in the ctx_mgr.
> 
> Signed-off-by: Erico Nunes <nunes.erico@gmail.com>
> ---
>  drivers/gpu/drm/lima/lima_ctx.c | 30 +++++++++++++++++++++++++++++-
>  drivers/gpu/drm/lima/lima_ctx.h |  3 +++
>  2 files changed, 32 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/lima/lima_ctx.c b/drivers/gpu/drm/lima/lima_ctx.c
> index 891d5cd5019a..e008e586fad0 100644
> --- a/drivers/gpu/drm/lima/lima_ctx.c
> +++ b/drivers/gpu/drm/lima/lima_ctx.c
> @@ -15,6 +15,7 @@ int lima_ctx_create(struct lima_device *dev, struct lima_ctx_mgr *mgr, u32 *id)
>  	if (!ctx)
>  		return -ENOMEM;
>  	ctx->dev = dev;
> +	ctx->mgr = mgr;
>  	kref_init(&ctx->refcnt);
>  
>  	for (i = 0; i < lima_pipe_num; i++) {
> @@ -42,10 +43,17 @@ int lima_ctx_create(struct lima_device *dev, struct lima_ctx_mgr *mgr, u32 *id)
>  static void lima_ctx_do_release(struct kref *ref)
>  {
>  	struct lima_ctx *ctx = container_of(ref, struct lima_ctx, refcnt);
> +	struct lima_ctx_mgr *mgr = ctx->mgr;
>  	int i;
>  
> -	for (i = 0; i < lima_pipe_num; i++)
> +	for (i = 0; i < lima_pipe_num; i++) {
> +		struct lima_sched_context *context = &ctx->context[i];
> +		struct drm_sched_entity *entity = &context->base;
> +
> +		mgr->elapsed_ns[i] += entity->elapsed_ns;

drm-tip build is now broken because of this vs. 
commit baad10973fdb ("Revert "drm/scheduler: track GPU active time per entity"")

../drivers/gpu/drm/lima/lima_ctx.c: In function ‘lima_ctx_do_release’:
../drivers/gpu/drm/lima/lima_ctx.c:53:45: error: ‘struct
drm_sched_entity’ has no member named ‘elapsed_ns’
   53 |                 mgr->elapsed_ns[i] += entity->elapsed_ns;

-- 
Ville Syrjälä
Intel

  reply	other threads:[~2023-04-03 21:16 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-03-12 23:30 [PATCH 0/3] drm/lima: expose usage statistics via fdinfo Erico Nunes
2023-03-12 23:30 ` Erico Nunes
2023-03-12 23:30 ` [PATCH 1/3] drm/lima: add usage counting method to ctx_mgr Erico Nunes
2023-03-12 23:30   ` Erico Nunes
2023-04-03 21:16   ` Ville Syrjälä [this message]
2023-04-03 21:16     ` Ville Syrjälä
2023-03-12 23:30 ` [PATCH 2/3] drm/lima: allocate unique id per drm_file Erico Nunes
2023-03-12 23:30   ` Erico Nunes
2023-03-12 23:30 ` [PATCH 3/3] drm/lima: add show_fdinfo for drm usage stats Erico Nunes
2023-03-12 23:30   ` Erico Nunes
2023-03-13  2:37   ` Qiang Yu
2023-03-13  2:37     ` Qiang Yu
2023-03-13  3:09 ` [PATCH 0/3] drm/lima: expose usage statistics via fdinfo Qiang Yu
2023-03-13  3:09   ` Qiang Yu
2023-04-02 10:22   ` Qiang Yu
2023-04-02 10:22     ` Qiang Yu
2023-04-02 11:13     ` Lucas Stach
2023-04-02 14:27       ` Qiang Yu
2023-04-02 14:27         ` Qiang Yu

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=ZCtCNx5JUKFcoCCp@intel.com \
    --to=ville.syrjala@linux.intel.com \
    --cc=airlied@linux.ie \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=lima@lists.freedesktop.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=nunes.erico@gmail.com \
    --cc=yuq825@gmail.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.