igt-dev.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
* [Intel-gfx] [PATCH i-g-t] igt: Force eviction of test bo directly
@ 2018-07-13  9:54 Chris Wilson
  2018-07-13 10:19 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Chris Wilson @ 2018-07-13  9:54 UTC (permalink / raw)
  To: intel-gfx; +Cc: igt-dev

Currently we indirectly try to evict the test buffers by mmaping enough
bo that should fill the aperture. However, this assumes that the kernel
is trying to fill the aperture and does not use random replacement
(which it does) or use small partials to avoid mmaping the whole object
(which it does). Rather than assume, use the debugfs interface to force
the eviction of the bound objects.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
---
 tests/gem_caching.c                    | 9 +--------
 tests/gem_partial_pwrite_pread.c       | 9 +--------
 tests/gem_tiled_partial_pwrite_pread.c | 9 +--------
 3 files changed, 3 insertions(+), 24 deletions(-)

diff --git a/tests/gem_caching.c b/tests/gem_caching.c
index 7a9f03aa3..09e1a5f97 100644
--- a/tests/gem_caching.c
+++ b/tests/gem_caching.c
@@ -55,7 +55,6 @@ drm_intel_bo *scratch_bo;
 drm_intel_bo *staging_bo;
 #define BO_SIZE (4*4096)
 uint32_t devid;
-uint64_t mappable_gtt_limit;
 int fd;
 
 static void
@@ -90,9 +89,7 @@ blt_bo_fill(drm_intel_bo *tmp_bo, drm_intel_bo *bo, uint8_t val)
 
 	drm_intel_gem_bo_unmap_gtt(tmp_bo);
 
-	if (bo->offset < mappable_gtt_limit &&
-	    (IS_G33(devid) || intel_gen(devid) >= 4))
-		igt_trash_aperture();
+	igt_drop_caches_set(fd, DROP_BOUND);
 
 	copy_bo(tmp_bo, bo);
 }
@@ -136,9 +133,6 @@ igt_main
 		gem_set_caching(fd, scratch_bo->handle, 1);
 
 		staging_bo = drm_intel_bo_alloc(bufmgr, "staging bo", BO_SIZE, 4096);
-
-		igt_init_aperture_trashers(bufmgr);
-		mappable_gtt_limit = gem_mappable_aperture_size();
 	}
 
 	igt_subtest("reads") {
@@ -278,7 +272,6 @@ igt_main
 	}
 
 	igt_fixture {
-		igt_cleanup_aperture_trashers();
 		drm_intel_bufmgr_destroy(bufmgr);
 
 		close(fd);
diff --git a/tests/gem_partial_pwrite_pread.c b/tests/gem_partial_pwrite_pread.c
index d8cdd2a0a..35e39ad7f 100644
--- a/tests/gem_partial_pwrite_pread.c
+++ b/tests/gem_partial_pwrite_pread.c
@@ -56,7 +56,6 @@ drm_intel_bo *scratch_bo;
 drm_intel_bo *staging_bo;
 #define BO_SIZE (4*4096)
 uint32_t devid;
-uint64_t mappable_gtt_limit;
 int fd;
 
 static void
@@ -91,9 +90,7 @@ blt_bo_fill(drm_intel_bo *tmp_bo, drm_intel_bo *bo, uint8_t val)
 
 	drm_intel_gem_bo_unmap_gtt(tmp_bo);
 
-	if (bo->offset < mappable_gtt_limit &&
-	    (IS_G33(devid) || intel_gen(devid) >= 4))
-		igt_trash_aperture();
+	igt_drop_caches_set(fd, DROP_BOUND);
 
 	copy_bo(tmp_bo, bo);
 }
@@ -264,9 +261,6 @@ igt_main
 		/* overallocate the buffers we're actually using because */
 		scratch_bo = drm_intel_bo_alloc(bufmgr, "scratch bo", BO_SIZE, 4096);
 		staging_bo = drm_intel_bo_alloc(bufmgr, "staging bo", BO_SIZE, 4096);
-
-		igt_init_aperture_trashers(bufmgr);
-		mappable_gtt_limit = gem_mappable_aperture_size();
 	}
 
 	do_tests(-1, "");
@@ -277,7 +271,6 @@ igt_main
 	do_tests(2, "-display");
 
 	igt_fixture {
-		igt_cleanup_aperture_trashers();
 		drm_intel_bufmgr_destroy(bufmgr);
 
 		close(fd);
diff --git a/tests/gem_tiled_partial_pwrite_pread.c b/tests/gem_tiled_partial_pwrite_pread.c
index 0b4972e37..c2f44c9d8 100644
--- a/tests/gem_tiled_partial_pwrite_pread.c
+++ b/tests/gem_tiled_partial_pwrite_pread.c
@@ -61,7 +61,6 @@ drm_intel_bo *tiled_staging_bo;
 unsigned long scratch_pitch;
 #define BO_SIZE (32*4096)
 uint32_t devid;
-uint64_t mappable_gtt_limit;
 int fd;
 
 static void
@@ -112,9 +111,7 @@ blt_bo_fill(drm_intel_bo *tmp_bo, drm_intel_bo *bo, int val)
 
 	drm_intel_gem_bo_unmap_gtt(tmp_bo);
 
-	if (bo->offset < mappable_gtt_limit &&
-	    (IS_G33(devid) || intel_gen(devid) >= 4))
-		igt_trash_aperture();
+	igt_drop_caches_set(fd, DROP_BOUND);
 
 	copy_bo(tmp_bo, 0, bo, 1);
 }
@@ -295,9 +292,6 @@ igt_main
 							    BO_SIZE/4096, 4,
 							    &tiling_mode,
 							    &scratch_pitch, 0);
-
-		igt_init_aperture_trashers(bufmgr);
-		mappable_gtt_limit = gem_mappable_aperture_size();
 	}
 
 	igt_subtest("reads")
@@ -310,7 +304,6 @@ igt_main
 		test_partial_read_writes();
 
 	igt_fixture {
-		igt_cleanup_aperture_trashers();
 		drm_intel_bufmgr_destroy(bufmgr);
 
 		close(fd);
-- 
2.18.0

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [igt-dev] ✓ Fi.CI.BAT: success for igt: Force eviction of test bo directly
  2018-07-13  9:54 [Intel-gfx] [PATCH i-g-t] igt: Force eviction of test bo directly Chris Wilson
@ 2018-07-13 10:19 ` Patchwork
  2018-07-13 12:27 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
  2018-07-18 10:51 ` [igt-dev] [PATCH i-g-t] " Michał Winiarski
  2 siblings, 0 replies; 4+ messages in thread
From: Patchwork @ 2018-07-13 10:19 UTC (permalink / raw)
  To: Chris Wilson; +Cc: igt-dev

== Series Details ==

Series: igt: Force eviction of test bo directly
URL   : https://patchwork.freedesktop.org/series/46465/
State : success

== Summary ==

= CI Bug Log - changes from CI_DRM_4479 -> IGTPW_1576 =

== Summary - SUCCESS ==

  No regressions found.

  External URL: https://patchwork.freedesktop.org/api/1.0/series/46465/revisions/1/mbox/

== Known issues ==

  Here are the changes found in IGTPW_1576 that come from known issues:

  === IGT changes ===

    ==== Issues hit ====

    igt@kms_chamelium@dp-edid-read:
      fi-kbl-7500u:       PASS -> FAIL (fdo#103841)

    igt@kms_flip@basic-flip-vs-modeset:
      fi-skl-6700hq:      PASS -> DMESG-WARN (fdo#105998)

    igt@prime_vgem@basic-fence-flip:
      fi-ilk-650:         PASS -> FAIL (fdo#104008)

    
    ==== Possible fixes ====

    igt@drv_module_reload@basic-reload:
      fi-ilk-650:         DMESG-WARN (fdo#106387) -> PASS +2

    igt@kms_chamelium@hdmi-hpd-fast:
      fi-kbl-7500u:       FAIL (fdo#103841, fdo#102672) -> SKIP

    igt@kms_pipe_crc_basic@suspend-read-crc-pipe-b:
      fi-snb-2520m:       INCOMPLETE (fdo#103713) -> PASS

    
  fdo#102672 https://bugs.freedesktop.org/show_bug.cgi?id=102672
  fdo#103713 https://bugs.freedesktop.org/show_bug.cgi?id=103713
  fdo#103841 https://bugs.freedesktop.org/show_bug.cgi?id=103841
  fdo#104008 https://bugs.freedesktop.org/show_bug.cgi?id=104008
  fdo#105998 https://bugs.freedesktop.org/show_bug.cgi?id=105998
  fdo#106387 https://bugs.freedesktop.org/show_bug.cgi?id=106387


== Participating hosts (46 -> 42) ==

  Additional (1): fi-byt-j1900 
  Missing    (5): fi-ctg-p8600 fi-ilk-m540 fi-byt-squawks fi-bsw-cyan fi-hsw-4200u 


== Build changes ==

    * IGT: IGT_4553 -> IGTPW_1576

  CI_DRM_4479: c9c54a1c37adefd414d51ed919aab3f94794ee35 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_1576: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_1576/
  IGT_4553: 9d25d62bb6ff62694e5226b02d79075eab304402 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_1576/issues.html
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [igt-dev] ✓ Fi.CI.IGT: success for igt: Force eviction of test bo directly
  2018-07-13  9:54 [Intel-gfx] [PATCH i-g-t] igt: Force eviction of test bo directly Chris Wilson
  2018-07-13 10:19 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork
@ 2018-07-13 12:27 ` Patchwork
  2018-07-18 10:51 ` [igt-dev] [PATCH i-g-t] " Michał Winiarski
  2 siblings, 0 replies; 4+ messages in thread
From: Patchwork @ 2018-07-13 12:27 UTC (permalink / raw)
  To: Chris Wilson; +Cc: igt-dev

== Series Details ==

Series: igt: Force eviction of test bo directly
URL   : https://patchwork.freedesktop.org/series/46465/
State : success

== Summary ==

= CI Bug Log - changes from IGT_4553_full -> IGTPW_1576_full =

== Summary - WARNING ==

  Minor unknown changes coming with IGTPW_1576_full need to be verified
  manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in IGTPW_1576_full, please notify your bug team to allow them
  to document this new failure mode, which will reduce false positives in CI.

  External URL: https://patchwork.freedesktop.org/api/1.0/series/46465/revisions/1/mbox/

== Possible new issues ==

  Here are the unknown changes that may have been introduced in IGTPW_1576_full:

  === IGT changes ===

    ==== Warnings ====

    igt@gem_exec_schedule@deep-vebox:
      shard-kbl:          SKIP -> PASS +2

    
== Known issues ==

  Here are the changes found in IGTPW_1576_full that come from known issues:

  === IGT changes ===

    ==== Issues hit ====

    igt@gem_exec_flush@basic-wb-ro-default:
      shard-snb:          PASS -> INCOMPLETE (fdo#105411)

    igt@kms_cursor_legacy@2x-nonblocking-modeset-vs-cursor-atomic:
      shard-glk:          PASS -> FAIL (fdo#106509, fdo#105454)

    igt@kms_cursor_legacy@cursor-vs-flip-atomic:
      shard-hsw:          PASS -> FAIL (fdo#103355)

    igt@kms_flip@2x-flip-vs-expired-vblank-interruptible:
      shard-hsw:          PASS -> FAIL (fdo#102887)

    igt@kms_flip@2x-plain-flip-ts-check:
      shard-glk:          PASS -> FAIL (fdo#100368)

    igt@kms_flip@flip-vs-expired-vblank:
      shard-glk:          PASS -> FAIL (fdo#102887)

    igt@kms_flip@flip-vs-expired-vblank-interruptible:
      shard-kbl:          PASS -> FAIL (fdo#105363, fdo#102887)

    igt@kms_flip_tiling@flip-x-tiled:
      shard-glk:          PASS -> FAIL (fdo#103822, fdo#107161)

    igt@kms_flip_tiling@flip-y-tiled:
      shard-glk:          NOTRUN -> FAIL (fdo#107161)

    igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-indfb-draw-mmap-cpu:
      shard-glk:          PASS -> FAIL (fdo#103167)

    igt@kms_setmode@basic:
      shard-glk:          PASS -> FAIL (fdo#99912)

    
    ==== Possible fixes ====

    igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a:
      shard-kbl:          INCOMPLETE (fdo#103665) -> PASS

    igt@testdisplay:
      shard-glk:          INCOMPLETE (fdo#103359, k.org#198133) -> PASS

    
  fdo#100368 https://bugs.freedesktop.org/show_bug.cgi?id=100368
  fdo#102887 https://bugs.freedesktop.org/show_bug.cgi?id=102887
  fdo#103167 https://bugs.freedesktop.org/show_bug.cgi?id=103167
  fdo#103355 https://bugs.freedesktop.org/show_bug.cgi?id=103355
  fdo#103359 https://bugs.freedesktop.org/show_bug.cgi?id=103359
  fdo#103665 https://bugs.freedesktop.org/show_bug.cgi?id=103665
  fdo#103822 https://bugs.freedesktop.org/show_bug.cgi?id=103822
  fdo#105363 https://bugs.freedesktop.org/show_bug.cgi?id=105363
  fdo#105411 https://bugs.freedesktop.org/show_bug.cgi?id=105411
  fdo#105454 https://bugs.freedesktop.org/show_bug.cgi?id=105454
  fdo#106509 https://bugs.freedesktop.org/show_bug.cgi?id=106509
  fdo#107161 https://bugs.freedesktop.org/show_bug.cgi?id=107161
  fdo#99912 https://bugs.freedesktop.org/show_bug.cgi?id=99912
  k.org#198133 https://bugzilla.kernel.org/show_bug.cgi?id=198133


== Participating hosts (5 -> 5) ==

  No changes in participating hosts


== Build changes ==

    * IGT: IGT_4553 -> IGTPW_1576
    * Linux: CI_DRM_4476 -> CI_DRM_4479

  CI_DRM_4476: b818fac0878147c6df45338cb515b9b7bd878b7f @ git://anongit.freedesktop.org/gfx-ci/linux
  CI_DRM_4479: c9c54a1c37adefd414d51ed919aab3f94794ee35 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_1576: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_1576/
  IGT_4553: 9d25d62bb6ff62694e5226b02d79075eab304402 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_1576/shards.html
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [igt-dev] [PATCH i-g-t] igt: Force eviction of test bo directly
  2018-07-13  9:54 [Intel-gfx] [PATCH i-g-t] igt: Force eviction of test bo directly Chris Wilson
  2018-07-13 10:19 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork
  2018-07-13 12:27 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
@ 2018-07-18 10:51 ` Michał Winiarski
  2 siblings, 0 replies; 4+ messages in thread
From: Michał Winiarski @ 2018-07-18 10:51 UTC (permalink / raw)
  To: Chris Wilson; +Cc: igt-dev, intel-gfx

On Fri, Jul 13, 2018 at 10:54:40AM +0100, Chris Wilson wrote:
> Currently we indirectly try to evict the test buffers by mmaping enough
> bo that should fill the aperture. However, this assumes that the kernel
> is trying to fill the aperture and does not use random replacement
> (which it does) or use small partials to avoid mmaping the whole object
> (which it does). Rather than assume, use the debugfs interface to force
> the eviction of the bound objects.
> 
> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>

Reviewed-by: Michał Winiarski <michal.winiarski@intel.com>

-Michał

> ---
>  tests/gem_caching.c                    | 9 +--------
>  tests/gem_partial_pwrite_pread.c       | 9 +--------
>  tests/gem_tiled_partial_pwrite_pread.c | 9 +--------
>  3 files changed, 3 insertions(+), 24 deletions(-)
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2018-07-18 10:51 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-07-13  9:54 [Intel-gfx] [PATCH i-g-t] igt: Force eviction of test bo directly Chris Wilson
2018-07-13 10:19 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork
2018-07-13 12:27 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
2018-07-18 10:51 ` [igt-dev] [PATCH i-g-t] " Michał Winiarski

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).