All of lore.kernel.org
 help / color / mirror / Atom feed
From: Matthew Auld <matthew.auld@intel.com>
To: Ramalingam C <ramalingam.c@intel.com>,
	intel-gfx <intel-gfx@lists.freedesktop.org>,
	dri-devel <dri-devel@lists.freedesktop.org>
Cc: Thomas Hellstrom <thomas.hellstrom@linux.intel.com>,
	Hellstrom Thomas <thomas.hellstrom@intel.com>
Subject: Re: [PATCH v2 3/4] drm/i915/gt: Document the eviction of the Flat-CCS objects
Date: Wed, 27 Apr 2022 17:29:27 +0100	[thread overview]
Message-ID: <c866374b-46cc-87fb-4529-7aa1f2dfb130@intel.com> (raw)
In-Reply-To: <20220425162430.28844-4-ramalingam.c@intel.com>

On 25/04/2022 17:24, Ramalingam C wrote:
> Capture the eviction details for Flat-CCS capable, lmem objects.
> 
> v2:
>    Fix the Flat-ccs capbility of lmem obj with smem residency
>    possibility [Thomas]
> 
> Signed-off-by: Ramalingam C <ramalingam.c@intel.com>
> cc: Thomas Hellstrom <thomas.hellstrom@linux.intel.com>
> cc: Matthew Auld <matthew.auld@intel.com>
> ---
>   drivers/gpu/drm/i915/gt/intel_migrate.c | 23 ++++++++++++++---------
>   1 file changed, 14 insertions(+), 9 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/gt/intel_migrate.c b/drivers/gpu/drm/i915/gt/intel_migrate.c
> index 463a6a14b5f9..930e0fd9795f 100644
> --- a/drivers/gpu/drm/i915/gt/intel_migrate.c
> +++ b/drivers/gpu/drm/i915/gt/intel_migrate.c
> @@ -485,16 +485,21 @@ static bool wa_1209644611_applies(int ver, u32 size)
>    * And CCS data can be copied in and out of CCS region through
>    * XY_CTRL_SURF_COPY_BLT. CPU can't access the CCS data directly.
>    *
> - * When we exhaust the lmem, if the object's placements support smem, then we can
> - * directly decompress the compressed lmem object into smem and start using it
> - * from smem itself.
> + * I915 supports Flat-CCS on lmem only objects. When an objects has the smem in

"When an object has smem in"

> + * its preference list, on memory pressure, i915 needs to migarte the lmem

"migrate"

> + * content into smem. If the lmem object is Flat-CCS compressed by userspace,
> + * then i915 needs to decompress it. But I915 lack the required information
> + * for such decompression. Hence I915 supports Flat-CCS only on lmem only objects.
>    *
> - * But when we need to swapout the compressed lmem object into a smem region
> - * though objects' placement doesn't support smem, then we copy the lmem content
> - * as it is into smem region along with ccs data (using XY_CTRL_SURF_COPY_BLT).
> - * When the object is referred, lmem content will be swaped in along with
> - * restoration of the CCS data (using XY_CTRL_SURF_COPY_BLT) at corresponding
> - * location.
> + * when we exhaust the lmem, Flat-CCS capable objects' lmem backing memory can

"When"

Otherwise,
Reviewed-by: Matthew Auld <matthew.auld@intel.com>

> + * be temporarily evicted to smem, along with the auxiliary CCS state, where
> + * it can be potentially swapped-out at a later point, if required.
> + * If userspace later touches the evicted pages, then we always move
> + * the backing memory back to lmem, which includes restoring the saved CCS state,
> + * and potentially performing any required swap-in.
> + *
> + * For the migration of the lmem objects with smem in placement list, such as
> + * {lmem, smem}, objects are treated as non Flat-CCS capable objects.
>    */
>   
>   static inline u32 *i915_flush_dw(u32 *cmd, u32 flags)

WARNING: multiple messages have this Message-ID (diff)
From: Matthew Auld <matthew.auld@intel.com>
To: Ramalingam C <ramalingam.c@intel.com>,
	intel-gfx <intel-gfx@lists.freedesktop.org>,
	dri-devel <dri-devel@lists.freedesktop.org>
Cc: Thomas Hellstrom <thomas.hellstrom@linux.intel.com>,
	Hellstrom Thomas <thomas.hellstrom@intel.com>
Subject: Re: [Intel-gfx] [PATCH v2 3/4] drm/i915/gt: Document the eviction of the Flat-CCS objects
Date: Wed, 27 Apr 2022 17:29:27 +0100	[thread overview]
Message-ID: <c866374b-46cc-87fb-4529-7aa1f2dfb130@intel.com> (raw)
In-Reply-To: <20220425162430.28844-4-ramalingam.c@intel.com>

On 25/04/2022 17:24, Ramalingam C wrote:
> Capture the eviction details for Flat-CCS capable, lmem objects.
> 
> v2:
>    Fix the Flat-ccs capbility of lmem obj with smem residency
>    possibility [Thomas]
> 
> Signed-off-by: Ramalingam C <ramalingam.c@intel.com>
> cc: Thomas Hellstrom <thomas.hellstrom@linux.intel.com>
> cc: Matthew Auld <matthew.auld@intel.com>
> ---
>   drivers/gpu/drm/i915/gt/intel_migrate.c | 23 ++++++++++++++---------
>   1 file changed, 14 insertions(+), 9 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/gt/intel_migrate.c b/drivers/gpu/drm/i915/gt/intel_migrate.c
> index 463a6a14b5f9..930e0fd9795f 100644
> --- a/drivers/gpu/drm/i915/gt/intel_migrate.c
> +++ b/drivers/gpu/drm/i915/gt/intel_migrate.c
> @@ -485,16 +485,21 @@ static bool wa_1209644611_applies(int ver, u32 size)
>    * And CCS data can be copied in and out of CCS region through
>    * XY_CTRL_SURF_COPY_BLT. CPU can't access the CCS data directly.
>    *
> - * When we exhaust the lmem, if the object's placements support smem, then we can
> - * directly decompress the compressed lmem object into smem and start using it
> - * from smem itself.
> + * I915 supports Flat-CCS on lmem only objects. When an objects has the smem in

"When an object has smem in"

> + * its preference list, on memory pressure, i915 needs to migarte the lmem

"migrate"

> + * content into smem. If the lmem object is Flat-CCS compressed by userspace,
> + * then i915 needs to decompress it. But I915 lack the required information
> + * for such decompression. Hence I915 supports Flat-CCS only on lmem only objects.
>    *
> - * But when we need to swapout the compressed lmem object into a smem region
> - * though objects' placement doesn't support smem, then we copy the lmem content
> - * as it is into smem region along with ccs data (using XY_CTRL_SURF_COPY_BLT).
> - * When the object is referred, lmem content will be swaped in along with
> - * restoration of the CCS data (using XY_CTRL_SURF_COPY_BLT) at corresponding
> - * location.
> + * when we exhaust the lmem, Flat-CCS capable objects' lmem backing memory can

"When"

Otherwise,
Reviewed-by: Matthew Auld <matthew.auld@intel.com>

> + * be temporarily evicted to smem, along with the auxiliary CCS state, where
> + * it can be potentially swapped-out at a later point, if required.
> + * If userspace later touches the evicted pages, then we always move
> + * the backing memory back to lmem, which includes restoring the saved CCS state,
> + * and potentially performing any required swap-in.
> + *
> + * For the migration of the lmem objects with smem in placement list, such as
> + * {lmem, smem}, objects are treated as non Flat-CCS capable objects.
>    */
>   
>   static inline u32 *i915_flush_dw(u32 *cmd, u32 flags)

  reply	other threads:[~2022-04-27 16:29 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-04-25 16:24 [PATCH v2 0/4] Flat-CCS eviction enhancements Ramalingam C
2022-04-25 16:24 ` [Intel-gfx] " Ramalingam C
2022-04-25 16:24 ` [PATCH v2 1/4] drm/i915/gt: GEM_BUG_ON unexpected NULL at scatterlist walking Ramalingam C
2022-04-25 16:24   ` [Intel-gfx] " Ramalingam C
2022-04-27 19:27   ` Matthew Auld
2022-04-27 19:27     ` Matthew Auld
2022-04-25 16:24 ` [PATCH v2 2/4] drm/i915/gt: optimize the ccs_sz calculation per chunk Ramalingam C
2022-04-25 16:24   ` [Intel-gfx] " Ramalingam C
2022-04-27 19:24   ` Matthew Auld
2022-04-27 19:24     ` [Intel-gfx] " Matthew Auld
2022-04-25 16:24 ` [PATCH v2 3/4] drm/i915/gt: Document the eviction of the Flat-CCS objects Ramalingam C
2022-04-25 16:24   ` [Intel-gfx] " Ramalingam C
2022-04-27 16:29   ` Matthew Auld [this message]
2022-04-27 16:29     ` Matthew Auld
2022-04-25 16:24 ` [PATCH v2 4/4] uapi/drm/i915: Document memory residency and Flat-CCS capability of obj Ramalingam C
2022-04-25 16:24   ` [Intel-gfx] " Ramalingam C
2022-04-27 17:09   ` Matthew Auld
2022-04-27 17:09     ` [Intel-gfx] " Matthew Auld
2022-04-25 17:29 ` [Intel-gfx] ✗ Fi.CI.SPARSE: warning for Flat-CCS eviction enhancements (rev3) Patchwork
2022-04-25 18:02 ` [Intel-gfx] ✗ Fi.CI.BAT: 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=c866374b-46cc-87fb-4529-7aa1f2dfb130@intel.com \
    --to=matthew.auld@intel.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=ramalingam.c@intel.com \
    --cc=thomas.hellstrom@intel.com \
    --cc=thomas.hellstrom@linux.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.