Intel-GFX Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: "Teres Alexis, Alan Previn" <alan.previn.teres.alexis@intel.com>
To: "intel-gfx@lists.freedesktop.org" <intel-gfx@lists.freedesktop.org>
Cc: "dri-devel@lists.freedesktop.org" <dri-devel@lists.freedesktop.org>
Subject: Re: [Intel-gfx] [PATCH v5 5/8] drm/i915/pxp: Add ARB session creation and cleanup
Date: Fri, 17 Feb 2023 03:12:26 +0000	[thread overview]
Message-ID: <a37b0016cc45876ea9df28f91c34a92daacb08e1.camel@intel.com> (raw)
In-Reply-To: <20230214213844.2890382-6-alan.previn.teres.alexis@intel.com>

On Tue, 2023-02-14 at 13:38 -0800, Teres Alexis, Alan Previn wrote:
> Add MTL's function for ARB session creation using PXP firmware
> version 4.3 ABI structure format.
> 
> Also add MTL's function for ARB session invalidation but this
> reuses PXP firmware version 4.2 ABI structure format.
> 
> Before checking the return status, look at the GSC-CS-Mem-Header's
> pending-bit which means the GSC firmware is busy and we should
> resubmit.
> 
> Signed-off-by: Alan Previn <alan.previn.teres.alexis@intel.com>
> ---

alan:snip

Not part of this patch today but a new modification is required that would end up going into this patch --->

So from the internal testing we are doing on MTL, i have noticed that the first time the GSC firmware
is requested to init the arb session (right after a cold-boot or  driver-reload-after-flr), it takes much longer.
This has resulted in the observation of the following problematic event flow:

1. app or igt calls gem-context-create to create a protected context (after a fresh boot or driver reload).
2. intel_pxp_start will begin the global teardown and recreation where:
	2-a: the first part (i.e. session teardown) is skipped (since arb session wasnt created before this)
        2-b: the second part (i.e. arb session init commands via the gsc firmware) does happen and takes a long time (on first time)
3. step 2 is queued thru a worker while the main call into intel_pxp_start continues to wait for the arb
    session to start and finally bails out with a timeout (back up through gem-context-create).
4. app retries again and now we get a second call that repeats step 1 while 2-b is still wrapping up.
    so depending on the race of this step 4 (step-1-recall) vs the completion of step 2-b, we could end up
    getting a 2nd teardown right (i.e. step 2-a going in) after the the first arb-session-creation completed
    ... eventhough in both cases app just wants the creation.

The simplest fix (with minimal code changes) would be to add a complementary "is_arb_creation_pending" flag
alongside the is_arb_valid flag - with both remainining protected by the arb-mutex. That said, we I'll respin rev6
with this fix along with other mutex fix on Patch4.

        


  reply	other threads:[~2023-02-17  3:12 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-02-14 21:38 [Intel-gfx] [PATCH v5 0/8] drm/i915/pxp: Add MTL PXP Support Alan Previn
2023-02-14 21:38 ` [Intel-gfx] [PATCH v5 1/8] drm/i915/pxp: Add GSC-CS back-end resource init and cleanup Alan Previn
2023-02-14 21:38 ` [Intel-gfx] [PATCH v5 2/8] drm/i915/pxp: Add MTL hw-plumbing enabling for KCR operation Alan Previn
2023-02-14 21:38 ` [Intel-gfx] [PATCH v5 3/8] drm/i915/pxp: Add MTL helpers to submit Heci-Cmd-Packet to GSC Alan Previn
2023-02-22 23:41   ` Teres Alexis, Alan Previn
2023-02-14 21:38 ` [Intel-gfx] [PATCH v5 4/8] drm/i915/pxp: Add GSC-CS backend to send GSC fw messages Alan Previn
2023-02-15 19:58   ` Teres Alexis, Alan Previn
2023-02-14 21:38 ` [Intel-gfx] [PATCH v5 5/8] drm/i915/pxp: Add ARB session creation and cleanup Alan Previn
2023-02-17  3:12   ` Teres Alexis, Alan Previn [this message]
2023-02-23 23:27     ` Teres Alexis, Alan Previn
2023-02-23 22:39   ` Teres Alexis, Alan Previn
2023-02-14 21:38 ` [Intel-gfx] [PATCH v5 6/8] drm/i915/pxp: MTL-KCR interrupt ctrl's are in GT-0 Alan Previn
2023-02-14 21:38 ` [Intel-gfx] [PATCH v5 7/8] drm/i915/pxp: On MTL, KCR enabling doesn't wait on tee component Alan Previn
2023-02-14 21:38 ` [Intel-gfx] [PATCH v5 8/8] drm/i915/pxp: Enable PXP with MTL-GSC-CS Alan Previn
2023-02-18 17:31   ` Teres Alexis, Alan Previn
2023-02-14 23:01 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915/pxp: Add MTL PXP Support (rev5) Patchwork
2023-02-14 23:27 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2023-02-15 10:20 ` [Intel-gfx] ✓ Fi.CI.IGT: " 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=a37b0016cc45876ea9df28f91c34a92daacb08e1.camel@intel.com \
    --to=alan.previn.teres.alexis@intel.com \
    --cc=dri-devel@lists.freedesktop.org \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox