From: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
To: Chris Wilson <chris@chris-wilson.co.uk>, intel-gfx@lists.freedesktop.org
Subject: Re: [Intel-gfx] [PATCH 3/4] drm/i915/gt: Perform an arbitration check before busywaiting
Date: Mon, 11 Jan 2021 16:19:40 +0000 [thread overview]
Message-ID: <24903f8e-4f53-c0bd-4ced-7161b505f06d@linux.intel.com> (raw)
In-Reply-To: <20210111105735.21515-3-chris@chris-wilson.co.uk>
On 11/01/2021 10:57, Chris Wilson wrote:
> During igt_reset_nop_engine, it was observed that an unexpected failed
> engine reset lead to us busywaiting on the stop-ring semaphore (set
> during the reset preparations) on the first request afterwards. There was
> no explicit MI_ARB_CHECK in this sequence as the presumption was that
> the failed MI_SEMAPHORE_WAIT would itself act as an arbitration point.
> It did not in this circumstance, so force it.
In other words MI_SEMAPHORE_POLL is not a preemption point? Can't
remember if I knew that or not..
1)
Why not the same handling in !gen12 version?
2)
Failed reset leads to busy-hang in following request _tail_? But there
is an arb check at the start of following request as well. Or in cases
where we context switch into the middle of a previously executing request?
But why would that busy hang? Hasn't the failed request unpaused the ring?
Regards,
Tvrtko
> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> ---
> drivers/gpu/drm/i915/gt/gen8_engine_cs.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/gt/gen8_engine_cs.c b/drivers/gpu/drm/i915/gt/gen8_engine_cs.c
> index 9a182652a35e..e9ac281644cc 100644
> --- a/drivers/gpu/drm/i915/gt/gen8_engine_cs.c
> +++ b/drivers/gpu/drm/i915/gt/gen8_engine_cs.c
> @@ -567,6 +567,7 @@ u32 *gen11_emit_fini_breadcrumb_rcs(struct i915_request *rq, u32 *cs)
>
> static u32 *gen12_emit_preempt_busywait(struct i915_request *rq, u32 *cs)
> {
> + *cs++ = MI_ARB_CHECK;
> *cs++ = MI_SEMAPHORE_WAIT_TOKEN |
> MI_SEMAPHORE_GLOBAL_GTT |
> MI_SEMAPHORE_POLL |
> @@ -575,7 +576,6 @@ static u32 *gen12_emit_preempt_busywait(struct i915_request *rq, u32 *cs)
> *cs++ = preempt_address(rq->engine);
> *cs++ = 0;
> *cs++ = 0;
> - *cs++ = MI_NOOP;
>
> return cs;
> }
>
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
next prev parent reply other threads:[~2021-01-11 16:19 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-01-11 10:57 [Intel-gfx] [PATCH 1/4] drm/i915/gt: Disable arbitration around Braswell's pdp updates Chris Wilson
2021-01-11 10:57 ` [Intel-gfx] [PATCH 2/4] drm/i915/gt: Check for arbitration after writing start seqno Chris Wilson
2021-01-11 16:03 ` Tvrtko Ursulin
2021-01-11 16:10 ` Chris Wilson
2021-01-12 9:14 ` Tvrtko Ursulin
2021-01-11 10:57 ` [Intel-gfx] [PATCH 3/4] drm/i915/gt: Perform an arbitration check before busywaiting Chris Wilson
2021-01-11 16:19 ` Tvrtko Ursulin [this message]
2021-01-11 16:27 ` Chris Wilson
2021-01-11 17:12 ` Tvrtko Ursulin
2021-01-11 21:54 ` Chris Wilson
2021-01-12 9:21 ` Tvrtko Ursulin
2021-01-11 10:57 ` [Intel-gfx] [PATCH 4/4] drm/i915/selftests: Include engine name after reset failure Chris Wilson
2021-01-11 16:20 ` Tvrtko Ursulin
2021-01-11 12:30 ` [Intel-gfx] ✓ Fi.CI.BAT: success for series starting with [1/4] drm/i915/gt: Disable arbitration around Braswell's pdp updates Patchwork
2021-01-11 14:19 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork
2021-01-11 15:53 ` [Intel-gfx] [PATCH 1/4] " Tvrtko Ursulin
2021-01-11 16:00 ` Chris Wilson
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=24903f8e-4f53-c0bd-4ced-7161b505f06d@linux.intel.com \
--to=tvrtko.ursulin@linux.intel.com \
--cc=chris@chris-wilson.co.uk \
--cc=intel-gfx@lists.freedesktop.org \
/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.