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 v7 7/8] drm/i915/ttm: use cached system pages when evicting lmem
Date: Wed,  6 Oct 2021 10:16:12 +0100	[thread overview]
Message-ID: <20211006091614.970596-7-matthew.auld@intel.com> (raw)
In-Reply-To: <20211006091614.970596-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>
Reviewed-by: 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 5521c5457a4f..0006ab35cd4d 100644
--- a/drivers/gpu/drm/i915/gem/i915_gem_ttm.c
+++ b/drivers/gpu/drm/i915/gem/i915_gem_ttm.c
@@ -134,11 +134,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 v7 7/8] drm/i915/ttm: use cached system pages when evicting lmem
Date: Wed,  6 Oct 2021 10:16:12 +0100	[thread overview]
Message-ID: <20211006091614.970596-7-matthew.auld@intel.com> (raw)
In-Reply-To: <20211006091614.970596-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>
Reviewed-by: 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 5521c5457a4f..0006ab35cd4d 100644
--- a/drivers/gpu/drm/i915/gem/i915_gem_ttm.c
+++ b/drivers/gpu/drm/i915/gem/i915_gem_ttm.c
@@ -134,11 +134,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-10-06  9:17 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-06  9:16 [PATCH v7 1/8] drm/i915/gem: Break out some shmem backend utils Matthew Auld
2021-10-06  9:16 ` [Intel-gfx] " Matthew Auld
2021-10-06  9:16 ` [PATCH v7 2/8] drm/i915/ttm: add tt shmem backend Matthew Auld
2021-10-06  9:16   ` [Intel-gfx] " Matthew Auld
2021-10-06  9:16 ` [PATCH v7 3/8] drm/i915/gtt: drop unneeded make_unshrinkable Matthew Auld
2021-10-06  9:16   ` [Intel-gfx] " Matthew Auld
2021-10-06  9:16 ` [PATCH v7 4/8] drm/i915: drop unneeded make_unshrinkable in free_object Matthew Auld
2021-10-06  9:16   ` [Intel-gfx] " Matthew Auld
2021-10-06  9:16 ` [PATCH v7 5/8] drm/i915: add some kernel-doc for shrink_pin and friends Matthew Auld
2021-10-06  9:16   ` [Intel-gfx] " Matthew Auld
2021-10-06  9:16 ` [PATCH v7 6/8] drm/i915/ttm: move shrinker management into adjust_lru Matthew Auld
2021-10-06  9:16   ` [Intel-gfx] " Matthew Auld
2021-10-06  9:16 ` Matthew Auld [this message]
2021-10-06  9:16   ` [Intel-gfx] [PATCH v7 7/8] drm/i915/ttm: use cached system pages when evicting lmem Matthew Auld
2021-10-06  9:16 ` [PATCH v7 8/8] drm/i915/ttm: enable shmem tt backend Matthew Auld
2021-10-06  9:16   ` [Intel-gfx] " Matthew Auld
2021-10-06 11:42 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for series starting with [v7,1/8] drm/i915/gem: Break out some shmem backend utils Patchwork
2021-10-06 11:43 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork
2021-10-06 12:15 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2021-10-06 15:26 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork
2021-10-07  9:04   ` Matthew Auld
2021-10-07  9:15   ` Tvrtko Ursulin
2021-10-07  9:19     ` Christian König
2021-10-07 10:51       ` Tvrtko Ursulin
2021-10-07 12:57         ` Christian König
2021-10-07 13:40           ` Tvrtko Ursulin
2021-10-07 15:18             ` Vudum, Lakshminarayana
2021-10-07 15:53               ` Tvrtko Ursulin
2021-10-07 18:18                 ` Christian König
2021-10-08  9:17                   ` Tvrtko Ursulin
2021-10-08  9:22                     ` Tvrtko Ursulin
2021-10-07 14:58 ` Patchwork
2021-10-07 15:14 ` [Intel-gfx] ✓ Fi.CI.IGT: success " 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=20211006091614.970596-7-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.