From: "Dixit, Ashutosh" <ashutosh.dixit@intel.com>
To: "José Roberto de Souza" <jose.souza@intel.com>
Cc: <intel-xe@lists.freedesktop.org>
Subject: Re: [PATCH v2] drm/xe/oa: Fix overflow in oa batch buffer
Date: Thu, 12 Sep 2024 09:07:42 -0700 [thread overview]
Message-ID: <87h6ak3lf5.wl-ashutosh.dixit@intel.com> (raw)
In-Reply-To: <20240912153842.35813-1-jose.souza@intel.com>
On Thu, 12 Sep 2024 08:38:42 -0700, José Roberto de Souza wrote:
>
> By default xe_bb_create_job() appends a MI_BATCH_BUFFER_END to batch
> buffer, this is not a problem if batch buffer is only used once but
> oa reuses the batch buffer for the same metric and at each call
> it appends a MI_BATCH_BUFFER_END, printing the warning below and then
> overflowing.
>
> [ 381.072016] ------------[ cut here ]------------
> [ 381.072019] xe 0000:00:02.0: [drm] Assertion `bb->len * 4 + bb_prefetch(q->gt) <= size` failed!
I'd think just this one line from this log is sufficient for the commit message.
> platform: LUNARLAKE subplatform: 1
> graphics: Xe2_LPG / Xe2_HPG 20.04 step B0
> media: Xe2_LPM / Xe2_HPM 20.00 step B0
> tile: 0 VRAM 0 B
> GT: 0 type 1
>
> So here checking if batch buffer already have MI_BATCH_BUFFER_END if
> not append it.
>
> v2:
> - simply fix, suggestion from Ashutosh
>
> Cc: Ashutosh Dixit <ashutosh.dixit@intel.com>
> Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
> ---
> drivers/gpu/drm/xe/xe_bb.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/xe/xe_bb.c b/drivers/gpu/drm/xe/xe_bb.c
> index a13e0b3a169ed..ef777dbdf4ecc 100644
> --- a/drivers/gpu/drm/xe/xe_bb.c
> +++ b/drivers/gpu/drm/xe/xe_bb.c
> @@ -65,7 +65,8 @@ __xe_bb_create_job(struct xe_exec_queue *q, struct xe_bb *bb, u64 *addr)
> {
> u32 size = drm_suballoc_size(bb->bo);
>
> - bb->cs[bb->len++] = MI_BATCH_BUFFER_END;
> + if (bb->len == 0 || bb->cs[bb->len - 1] != MI_BATCH_BUFFER_END)
> + bb->cs[bb->len++] = MI_BATCH_BUFFER_END;
In any case, thanks for the fix:
Reviewed-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
> xe_gt_assert(q->gt, bb->len * 4 + bb_prefetch(q->gt) <= size);
>
> --
> 2.46.0
>
next prev parent reply other threads:[~2024-09-12 16:23 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-09-12 15:38 [PATCH v2] drm/xe/oa: Fix overflow in oa batch buffer José Roberto de Souza
2024-09-12 16:07 ` Dixit, Ashutosh [this message]
2024-09-12 17:48 ` ✓ CI.Patch_applied: success for " Patchwork
2024-09-12 17:48 ` ✓ CI.checkpatch: " Patchwork
2024-09-12 17:49 ` ✓ CI.KUnit: " Patchwork
2024-09-12 18:01 ` ✓ CI.Build: " Patchwork
2024-09-12 18:03 ` ✓ CI.Hooks: " Patchwork
2024-09-12 18:05 ` ✓ CI.checksparse: " Patchwork
2024-09-12 18:35 ` ✓ CI.BAT: " Patchwork
2024-09-13 9:37 ` ✗ CI.FULL: failure " Patchwork
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=87h6ak3lf5.wl-ashutosh.dixit@intel.com \
--to=ashutosh.dixit@intel.com \
--cc=intel-xe@lists.freedesktop.org \
--cc=jose.souza@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.