All of lore.kernel.org
 help / color / mirror / Atom feed
From: Matthew Auld <matthew.auld@intel.com>
To: intel-gfx@lists.freedesktop.org
Cc: dri-devel@lists.freedesktop.org,
	"Thomas Hellström" <thomas.hellstrom@linux.intel.com>
Subject: [PATCH 4/8] drm/i915/ttm: use cached system pages when evicting lmem
Date: Mon, 13 Sep 2021 19:06:01 +0100	[thread overview]
Message-ID: <20210913180605.2778493-4-matthew.auld@intel.com> (raw)
In-Reply-To: <20210913180605.2778493-1-matthew.auld@intel.com>

This should let us do an accelerated copy directly to the shmem pages
when temporarily moving lmem-only objects, where the i915-gem shrinker
can later kick in to swap out the pages, if needed.

Signed-off-by: Matthew Auld <matthew.auld@intel.com>
Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com>
---
 drivers/gpu/drm/i915/gem/i915_gem_ttm.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/i915/gem/i915_gem_ttm.c b/drivers/gpu/drm/i915/gem/i915_gem_ttm.c
index 8f022c2889c0..08894f6a296b 100644
--- a/drivers/gpu/drm/i915/gem/i915_gem_ttm.c
+++ b/drivers/gpu/drm/i915/gem/i915_gem_ttm.c
@@ -123,11 +123,11 @@ static enum ttm_caching
 i915_ttm_select_tt_caching(const struct drm_i915_gem_object *obj)
 {
 	/*
-	 * Objects only allowed in system get cached cpu-mappings.
-	 * Other objects get WC mapping for now. Even if in system.
+	 * Objects only allowed in system get cached cpu-mappings, or when
+	 * evicting lmem-only buffers to system for swapping. Other objects get
+	 * WC mapping for now. Even if in system.
 	 */
-	if (obj->mm.region->type == INTEL_MEMORY_SYSTEM &&
-	    obj->mm.n_placements <= 1)
+	if (obj->mm.n_placements <= 1)
 		return ttm_cached;
 
 	return ttm_write_combined;
-- 
2.26.3


WARNING: multiple messages have this Message-ID (diff)
From: Matthew Auld <matthew.auld@intel.com>
To: intel-gfx@lists.freedesktop.org
Cc: dri-devel@lists.freedesktop.org,
	"Thomas Hellström" <thomas.hellstrom@linux.intel.com>
Subject: [Intel-gfx] [PATCH 4/8] drm/i915/ttm: use cached system pages when evicting lmem
Date: Mon, 13 Sep 2021 19:06:01 +0100	[thread overview]
Message-ID: <20210913180605.2778493-4-matthew.auld@intel.com> (raw)
In-Reply-To: <20210913180605.2778493-1-matthew.auld@intel.com>

This should let us do an accelerated copy directly to the shmem pages
when temporarily moving lmem-only objects, where the i915-gem shrinker
can later kick in to swap out the pages, if needed.

Signed-off-by: Matthew Auld <matthew.auld@intel.com>
Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com>
---
 drivers/gpu/drm/i915/gem/i915_gem_ttm.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/i915/gem/i915_gem_ttm.c b/drivers/gpu/drm/i915/gem/i915_gem_ttm.c
index 8f022c2889c0..08894f6a296b 100644
--- a/drivers/gpu/drm/i915/gem/i915_gem_ttm.c
+++ b/drivers/gpu/drm/i915/gem/i915_gem_ttm.c
@@ -123,11 +123,11 @@ static enum ttm_caching
 i915_ttm_select_tt_caching(const struct drm_i915_gem_object *obj)
 {
 	/*
-	 * Objects only allowed in system get cached cpu-mappings.
-	 * Other objects get WC mapping for now. Even if in system.
+	 * Objects only allowed in system get cached cpu-mappings, or when
+	 * evicting lmem-only buffers to system for swapping. Other objects get
+	 * WC mapping for now. Even if in system.
 	 */
-	if (obj->mm.region->type == INTEL_MEMORY_SYSTEM &&
-	    obj->mm.n_placements <= 1)
+	if (obj->mm.n_placements <= 1)
 		return ttm_cached;
 
 	return ttm_write_combined;
-- 
2.26.3


  parent reply	other threads:[~2021-09-13 18:08 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-09-13 18:05 [PATCH 1/8] drm/i915/gem: Break out some shmem backend utils Matthew Auld
2021-09-13 18:05 ` [Intel-gfx] " Matthew Auld
2021-09-13 18:05 ` [PATCH 2/8] drm/ttm: add TTM_PAGE_FLAG_SHMEM Matthew Auld
2021-09-13 18:05   ` [Intel-gfx] " Matthew Auld
2021-09-13 18:06 ` [PATCH 3/8] drm/i915/ttm: add tt shmem backend Matthew Auld
2021-09-13 18:06   ` [Intel-gfx] " Matthew Auld
2021-09-13 18:06 ` Matthew Auld [this message]
2021-09-13 18:06   ` [Intel-gfx] [PATCH 4/8] drm/i915/ttm: use cached system pages when evicting lmem Matthew Auld
2021-09-13 18:06 ` [PATCH 5/8] drm/i915: remember to call i915_sw_fence_fini Matthew Auld
2021-09-13 18:06   ` [Intel-gfx] " Matthew Auld
2021-09-13 18:06 ` [PATCH 6/8] drm/i915: try to simplify make_{un}shrinkable Matthew Auld
2021-09-13 18:06   ` [Intel-gfx] " Matthew Auld
2021-09-13 18:06 ` [PATCH 7/8] drm/i915/ttm: make evicted shmem pages visible to the shrinker Matthew Auld
2021-09-13 18:06   ` [Intel-gfx] " Matthew Auld
2021-09-13 18:06 ` [PATCH 8/8] drm/i915/ttm: enable shmem tt backend Matthew Auld
2021-09-13 18:06   ` [Intel-gfx] " Matthew Auld
2021-09-13 21:21 ` [Intel-gfx] ✗ Fi.CI.BUILD: failure for series starting with [1/8] drm/i915/gem: Break out some shmem backend utils Patchwork
2021-09-14  3:45 ` [PATCH 1/8] " kernel test robot
2021-09-14  3:45   ` kernel test robot
2021-09-14  3:45   ` [Intel-gfx] " kernel test robot

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=20210913180605.2778493-4-matthew.auld@intel.com \
    --to=matthew.auld@intel.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=intel-gfx@lists.freedesktop.org \
    --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.