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
next prev parent reply other threads:[~2023-04-03 21:16 UTC|newest]
Thread overview: 10+ 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 ` [PATCH 1/3] drm/lima: add usage counting method to ctx_mgr Erico Nunes
2023-04-03 21:16 ` Ville Syrjälä [this message]
2023-03-12 23:30 ` [PATCH 2/3] drm/lima: allocate unique id per drm_file Erico Nunes
2023-03-12 23:30 ` [PATCH 3/3] drm/lima: add show_fdinfo for drm usage stats Erico Nunes
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-04-02 10:22 ` Qiang Yu
2023-04-02 11:13 ` Lucas Stach
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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox