diff mbox

[CI] drm/i915: Treat a framebuffer reference as an active reference whilst shrinking

Message ID 20161012124824.23521-1-chris@chris-wilson.co.uk (mailing list archive)
State New, archived
Headers show

Commit Message

Chris Wilson Oct. 12, 2016, 12:48 p.m. UTC
Treat a framebuffer reference with the same priority as an active
reference whilst shrinking. Framebuffers are likely to be reused and
typically cost more to migrate to and from GPU memory (on LLC
architectures we need to clflush), so defer the temptation to purge them
during a kswapd run until we have run out of cheap buffers.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: John Harrison <john.c.harrison@intel.com>
---
 drivers/gpu/drm/i915/i915_gem_shrinker.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

Comments

Saarinen, Jani Oct. 12, 2016, 6:29 p.m. UTC | #1
> == Series Details ==

> 

> Series: drm/i915: Treat a framebuffer reference as an active reference whilst shrinking

> URL   : https://patchwork.freedesktop.org/series/13648/

> State : failure

> 

> == Summary ==

> 

> Series 13648v1 drm/i915: Treat a framebuffer reference as an active

> reference whilst shrinking

> https://patchwork.freedesktop.org/api/1.0/series/13648/revisions/1/mbox/

> 

> Test kms_force_connector_basic:

>         Subgroup force-connector-state:

>                 pass       -> DMESG-WARN (fi-ivb-3770)


 [drm:drm_edid_block_valid] *ERROR* EDID checksum is invalid, remainder is 114
 [drm:drm_edid_block_valid] *ERROR* EDID checksum is invalid, remainder is 114

> Test kms_pipe_crc_basic:

>         Subgroup nonblocking-crc-pipe-c-frame-sequence:

>                 pass       -> DMESG-WARN (fi-skl-6770hq)


[drm:skl_set_cdclk [i915]] *ERROR* failed to inform PCU about cdclk change

>         Subgroup suspend-read-crc-pipe-a:

>                 dmesg-warn -> PASS       (fi-ilk-650)


 [drm:intel_pch_fifo_underrun_irq_handler [i915]] *ERROR* PCH transcoder B FIFO underrun
 [drm:intel_cpu_fifo_underrun_irq_handler [i915]] *ERROR* CPU pipe B FIFO underrun


> Test pm_rps:

>         Subgroup basic-api:

>                 pass       -> FAIL       (fi-hsw-4770r)


(pm_rps:11618) CRITICAL: Test assertion failure function checkit, file pm_rps.c:148:
(pm_rps:11618) CRITICAL: Failed assertion: freqs[CUR] <= freqs[MAX]
(pm_rps:11618) CRITICAL: Last errno: 22, Invalid argument
(pm_rps:11618) CRITICAL: error: 1300 > 750
Subtest basic-api failed.

> Test vgem_basic:

>         Subgroup unload:

>                 skip       -> PASS       (fi-bdw-5557u)

>                 pass       -> SKIP       (fi-hsw-4770r)

>                 skip       -> PASS       (fi-hsw-4770)

> Test vgem_reload_basic:

>                 pass       -> FAIL       (fi-hsw-4770r)

> 

> fi-bdw-5557u     total:248  pass:232  dwarn:0   dfail:0   fail:0   skip:16

> fi-bsw-n3050     total:248  pass:205  dwarn:0   dfail:0   fail:0   skip:43

> fi-bxt-t5700     total:248  pass:217  dwarn:0   dfail:0   fail:0   skip:31

> fi-byt-j1900     total:248  pass:213  dwarn:2   dfail:0   fail:1   skip:32

> fi-byt-n2820     total:248  pass:211  dwarn:0   dfail:0   fail:1   skip:36

> fi-hsw-4770      total:248  pass:225  dwarn:0   dfail:0   fail:0   skip:23

> fi-hsw-4770r     total:248  pass:222  dwarn:0   dfail:0   fail:2   skip:24

> fi-ilk-650       total:248  pass:185  dwarn:0   dfail:0   fail:2   skip:61

> fi-ivb-3520m     total:248  pass:222  dwarn:0   dfail:0   fail:0   skip:26

> fi-ivb-3770      total:248  pass:221  dwarn:1   dfail:0   fail:0   skip:26

> fi-kbl-7200u     total:248  pass:223  dwarn:0   dfail:0   fail:0   skip:25

> fi-skl-6260u     total:248  pass:233  dwarn:0   dfail:0   fail:0   skip:15

> fi-skl-6700hq    total:248  pass:225  dwarn:0   dfail:0   fail:0   skip:23

> fi-skl-6700k     total:248  pass:222  dwarn:1   dfail:0   fail:0   skip:25

> fi-skl-6770hq    total:248  pass:230  dwarn:2   dfail:0   fail:1   skip:15

> fi-snb-2520m     total:248  pass:211  dwarn:0   dfail:0   fail:0   skip:37

> fi-snb-2600      total:248  pass:210  dwarn:0   dfail:0   fail:0   skip:38

> 

> Results at /archive/results/CI_IGT_test/Patchwork_2688/

> 

> 4c3e00c4630b732518abf737580d927bb52346fa drm-intel-nightly: 2016y-10m-

> 12d-14h-36m-58s UTC integration manifest

> 2ac1007 drm/i915: Treat a framebuffer reference as an active reference

> whilst shrinking

> 

> _______________________________________________

> Intel-gfx mailing list

> Intel-gfx@lists.freedesktop.org

> https://lists.freedesktop.org/mailman/listinfo/intel-gfx



Jani Saarinen
Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo
diff mbox

Patch

diff --git a/drivers/gpu/drm/i915/i915_gem_shrinker.c b/drivers/gpu/drm/i915/i915_gem_shrinker.c
index 1c237d02f30b..de25b6e0a101 100644
--- a/drivers/gpu/drm/i915/i915_gem_shrinker.c
+++ b/drivers/gpu/drm/i915/i915_gem_shrinker.c
@@ -182,8 +182,9 @@  i915_gem_shrink(struct drm_i915_private *dev_priv,
 			    !is_vmalloc_addr(obj->mapping))
 				continue;
 
-			if ((flags & I915_SHRINK_ACTIVE) == 0 &&
-			    i915_gem_object_is_active(obj))
+			if (!(flags & I915_SHRINK_ACTIVE) &&
+			    (i915_gem_object_is_active(obj) ||
+			     obj->framebuffer_references))
 				continue;
 
 			if (!can_release_pages(obj))