All of lore.kernel.org
 help / color / mirror / Atom feed
* [igt-dev] [PATCH i-g-t 1/2] tests/kms_big_fb: Run the test for a single pipe only
@ 2019-05-23 20:19 Ville Syrjala
  2019-05-23 20:19 ` [igt-dev] [PATCH i-g-t 2/2] tests/kms_big_fb: Delay the expensive big fb creation until the last moment Ville Syrjala
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Ville Syrjala @ 2019-05-23 20:19 UTC (permalink / raw)
  To: igt-dev

From: Ville Syrjälä <ville.syrjala@linux.intel.com>

I think we can safely assume that if no plane on the first
available pipe supports the format+mod+rotation combo we
don't have to check on all the other pipes.

The only slight exception is CHV where pipe B has a few more
features, but none of those are actually relevant for this
test.

Also leave put the PIPE_ANY commit as that still causes
pointless modesets.

$ time kms_big_fb
- real    2m8.101s
+ real    0m52.902s

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 tests/kms_big_fb.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/tests/kms_big_fb.c b/tests/kms_big_fb.c
index 2f898074ad54..c3520e225ab9 100644
--- a/tests/kms_big_fb.c
+++ b/tests/kms_big_fb.c
@@ -344,8 +344,6 @@ static bool test_pipe(data_t *data)
 	igt_pipe_crc_free(data->pipe_crc);
 
 	igt_output_set_pipe(data->output, PIPE_ANY);
-	igt_display_commit2(&data->display, data->display.is_atomic ?
-			    COMMIT_ATOMIC : COMMIT_UNIVERSAL);
 
 	igt_remove_fb(data->drm_fd, &data->small_fb);
 
@@ -357,6 +355,7 @@ static void test_scanout(data_t *data)
 	for_each_pipe_with_valid_output(&data->display, data->pipe, data->output) {
 		if (test_pipe(data))
 			return;
+		break;
 	}
 
 	igt_skip("unsupported configuration\n");
-- 
2.21.0

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* [igt-dev] [PATCH i-g-t 2/2] tests/kms_big_fb: Delay the expensive big fb creation until the last moment
  2019-05-23 20:19 [igt-dev] [PATCH i-g-t 1/2] tests/kms_big_fb: Run the test for a single pipe only Ville Syrjala
@ 2019-05-23 20:19 ` Ville Syrjala
  2019-05-28 10:56   ` Maarten Lankhorst
  2019-05-23 22:57 ` [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,1/2] tests/kms_big_fb: Run the test for a single pipe only Patchwork
  2019-05-25  8:00 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
  2 siblings, 1 reply; 5+ messages in thread
From: Ville Syrjala @ 2019-05-23 20:19 UTC (permalink / raw)
  To: igt-dev

From: Ville Syrjälä <ville.syrjala@linux.intel.com>

We already perform the format+mod+rotation test using the small fb, so
we don't actually need to create the big fb until that test has been
performed. We do need to calculate the big fb dimensions though so that
we can calculate the coordinates we're going to use in the test.

$ time kms_big_fb
- real    0m52.902s
+ real    0m52.616s
so not so great.

But if I run each subtest separately it starts to add up:
$ for i in `kms_big_fb --l` ; do kms_big_fb --r $i ; done
- real    5m32.898s
+ real    4m32.164s

The big difference between those two ways of running the test
is at least partially due to the test reusing big fb between
the different rotation subtests for each format+mod combo.
Running each subtest individually can't get that benefit so
avoiding needless big fb creation starts to make a difference.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 tests/kms_big_fb.c | 77 ++++++++++++++++++++++++----------------------
 1 file changed, 41 insertions(+), 36 deletions(-)

diff --git a/tests/kms_big_fb.c b/tests/kms_big_fb.c
index c3520e225ab9..b8813a333643 100644
--- a/tests/kms_big_fb.c
+++ b/tests/kms_big_fb.c
@@ -43,6 +43,7 @@ typedef struct {
 	int width, height;
 	igt_rotation_t rotation;
 	int max_fb_width, max_fb_height;
+	int big_fb_width, big_fb_height;
 	uint64_t ram_size, aper_size, mappable_size;
 	igt_render_copyfunc_t render_copy;
 	drm_intel_bufmgr *bufmgr;
@@ -186,13 +187,32 @@ static void max_fb_size(data_t *data, int *width, int *height,
 		 *width, *height);
 }
 
+static void prep_fb(data_t *data)
+{
+	if (data->big_fb.fb_id)
+		return;
+
+	igt_create_fb(data->drm_fd,
+		      data->big_fb_width, data->big_fb_height,
+		      data->format, data->modifier,
+		      &data->big_fb);
+
+	generate_pattern(data, &data->big_fb, 640, 480);
+}
+
+static void cleanup_fb(data_t *data)
+{
+	igt_remove_fb(data->drm_fd, &data->big_fb);
+	data->big_fb.fb_id = 0;
+}
+
 static bool test_plane(data_t *data)
 {
 	igt_plane_t *plane = data->plane;
 	struct igt_fb *small_fb = &data->small_fb;
 	struct igt_fb *big_fb = &data->big_fb;
-	int w = big_fb->width - small_fb->width;
-	int h = big_fb->height - small_fb->height;
+	int w = data->big_fb_width - small_fb->width;
+	int h = data->big_fb_height - small_fb->height;
 	struct {
 		int x, y;
 	} coords[] = {
@@ -235,16 +255,6 @@ static bool test_plane(data_t *data)
 			y &= ~1;
 		}
 
-		/*
-		 * Make a 1:1 copy of the desired part of the big fb
-		 * rather than try to render the same pattern (translated
-		 * accordinly) again via cairo. Something in cairo's
-		 * rendering pipeline introduces slight differences into
-		 * the result if we try that, and so the crc will not match.
-		 */
-		copy_pattern(data, small_fb, 0, 0, big_fb, x, y,
-			     small_fb->width, small_fb->height);
-
 		igt_plane_set_fb(plane, small_fb);
 		igt_plane_set_size(plane, data->width, data->height);
 
@@ -262,6 +272,22 @@ static bool test_plane(data_t *data)
 			return false;
 		}
 
+		/*
+		 * To speed up skips we delay the big fb creation until
+		 * the above rotation related check has been performed.
+		 */
+		prep_fb(data);
+
+		/*
+		 * Make a 1:1 copy of the desired part of the big fb
+		 * rather than try to render the same pattern (translated
+		 * accordinly) again via cairo. Something in cairo's
+		 * rendering pipeline introduces slight differences into
+		 * the result if we try that, and so the crc will not match.
+		 */
+		copy_pattern(data, small_fb, 0, 0, big_fb, x, y,
+			     small_fb->width, small_fb->height);
+
 		igt_display_commit2(&data->display, data->display.is_atomic ?
 				    COMMIT_ATOMIC : COMMIT_UNIVERSAL);
 
@@ -352,6 +378,9 @@ static bool test_pipe(data_t *data)
 
 static void test_scanout(data_t *data)
 {
+	max_fb_size(data, &data->big_fb_width, &data->big_fb_height,
+		    data->format, data->modifier);
+
 	for_each_pipe_with_valid_output(&data->display, data->pipe, data->output) {
 		if (test_pipe(data))
 			return;
@@ -361,29 +390,6 @@ static void test_scanout(data_t *data)
 	igt_skip("unsupported configuration\n");
 }
 
-static void prep_fb(data_t *data)
-{
-	int width, height;
-
-	if (data->big_fb.fb_id)
-		return;
-
-	max_fb_size(data, &width, &height,
-		    data->format, data->modifier);
-
-	igt_create_fb(data->drm_fd, width, height,
-		      data->format, data->modifier,
-		      &data->big_fb);
-
-	generate_pattern(data, &data->big_fb, 640, 480);
-}
-
-static void cleanup_fb(data_t *data)
-{
-	igt_remove_fb(data->drm_fd, &data->big_fb);
-	data->big_fb.fb_id = 0;
-}
-
 static void
 test_size_overflow(data_t *data)
 {
@@ -650,7 +656,6 @@ igt_main
 					      formats[j].bpp, rotations[k].angle) {
 					igt_require(igt_fb_supported_format(data.format));
 					igt_require(igt_display_has_format_mod(&data.display, data.format, data.modifier));
-					prep_fb(&data);
 					test_scanout(&data);
 				}
 			}
-- 
2.21.0

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,1/2] tests/kms_big_fb: Run the test for a single pipe only
  2019-05-23 20:19 [igt-dev] [PATCH i-g-t 1/2] tests/kms_big_fb: Run the test for a single pipe only Ville Syrjala
  2019-05-23 20:19 ` [igt-dev] [PATCH i-g-t 2/2] tests/kms_big_fb: Delay the expensive big fb creation until the last moment Ville Syrjala
@ 2019-05-23 22:57 ` Patchwork
  2019-05-25  8:00 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
  2 siblings, 0 replies; 5+ messages in thread
From: Patchwork @ 2019-05-23 22:57 UTC (permalink / raw)
  To: Ville Syrjala; +Cc: igt-dev

== Series Details ==

Series: series starting with [i-g-t,1/2] tests/kms_big_fb: Run the test for a single pipe only
URL   : https://patchwork.freedesktop.org/series/61066/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6137 -> IGTPW_3048
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

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

Known issues
------------

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

### IGT changes ###

#### Issues hit ####

  * igt@prime_vgem@basic-fence-flip:
    - fi-ilk-650:         [PASS][1] -> [DMESG-WARN][2] ([fdo#106387]) +1 similar issue
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6137/fi-ilk-650/igt@prime_vgem@basic-fence-flip.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3048/fi-ilk-650/igt@prime_vgem@basic-fence-flip.html

  
#### Possible fixes ####

  * igt@i915_selftest@live_hangcheck:
    - {fi-icl-dsi}:       [INCOMPLETE][3] ([fdo#107713] / [fdo#108569]) -> [PASS][4]
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6137/fi-icl-dsi/igt@i915_selftest@live_hangcheck.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3048/fi-icl-dsi/igt@i915_selftest@live_hangcheck.html

  * igt@kms_flip@basic-flip-vs-wf_vblank:
    - fi-pnv-d510:        [FAIL][5] ([fdo#100368]) -> [PASS][6]
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6137/fi-pnv-d510/igt@kms_flip@basic-flip-vs-wf_vblank.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3048/fi-pnv-d510/igt@kms_flip@basic-flip-vs-wf_vblank.html

  
  {name}: This element is suppressed. This means it is ignored when computing
          the status of the difference (SUCCESS, WARNING, or FAILURE).

  [fdo#100368]: https://bugs.freedesktop.org/show_bug.cgi?id=100368
  [fdo#106107]: https://bugs.freedesktop.org/show_bug.cgi?id=106107
  [fdo#106387]: https://bugs.freedesktop.org/show_bug.cgi?id=106387
  [fdo#107713]: https://bugs.freedesktop.org/show_bug.cgi?id=107713
  [fdo#108569]: https://bugs.freedesktop.org/show_bug.cgi?id=108569
  [fdo#110718]: https://bugs.freedesktop.org/show_bug.cgi?id=110718


Participating hosts (44 -> 40)
------------------------------

  Missing    (4): fi-kbl-soraka fi-ilk-m540 fi-bsw-cyan fi-bdw-samus 


Build changes
-------------

  * IGT: IGT_5011 -> IGTPW_3048

  CI_DRM_6137: e0fe0a5239c1f280c1268e519dbed94e3c429d80 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_3048: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3048/
  IGT_5011: 7f120c5f1bff2727d50f3c392d81c0f6878b61d6 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools

== Logs ==

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

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

* [igt-dev] ✓ Fi.CI.IGT: success for series starting with [i-g-t,1/2] tests/kms_big_fb: Run the test for a single pipe only
  2019-05-23 20:19 [igt-dev] [PATCH i-g-t 1/2] tests/kms_big_fb: Run the test for a single pipe only Ville Syrjala
  2019-05-23 20:19 ` [igt-dev] [PATCH i-g-t 2/2] tests/kms_big_fb: Delay the expensive big fb creation until the last moment Ville Syrjala
  2019-05-23 22:57 ` [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,1/2] tests/kms_big_fb: Run the test for a single pipe only Patchwork
@ 2019-05-25  8:00 ` Patchwork
  2 siblings, 0 replies; 5+ messages in thread
From: Patchwork @ 2019-05-25  8:00 UTC (permalink / raw)
  To: Ville Syrjala; +Cc: igt-dev

== Series Details ==

Series: series starting with [i-g-t,1/2] tests/kms_big_fb: Run the test for a single pipe only
URL   : https://patchwork.freedesktop.org/series/61066/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6137_full -> IGTPW_3048_full
====================================================

Summary
-------

  **WARNING**

  Minor unknown changes coming with IGTPW_3048_full need to be verified
  manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in IGTPW_3048_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/61066/revisions/1/mbox/

Possible new issues
-------------------

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

### IGT changes ###

#### Warnings ####

  * igt@prime_vgem@sync-bsd1:
    - shard-snb:          [INCOMPLETE][1] ([fdo#105411]) -> [FAIL][2]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6137/shard-snb2/igt@prime_vgem@sync-bsd1.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3048/shard-snb5/igt@prime_vgem@sync-bsd1.html

  
Known issues
------------

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

### IGT changes ###

#### Issues hit ####

  * igt@i915_pm_rpm@system-suspend:
    - shard-kbl:          [PASS][3] -> [INCOMPLETE][4] ([fdo#103665] / [fdo#107807]) +1 similar issue
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6137/shard-kbl3/igt@i915_pm_rpm@system-suspend.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3048/shard-kbl6/igt@i915_pm_rpm@system-suspend.html

  * igt@i915_suspend@debugfs-reader:
    - shard-apl:          [PASS][5] -> [DMESG-WARN][6] ([fdo#108566]) +4 similar issues
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6137/shard-apl5/igt@i915_suspend@debugfs-reader.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3048/shard-apl5/igt@i915_suspend@debugfs-reader.html

  * igt@kms_dp_dsc@basic-dsc-enable-edp:
    - shard-iclb:         [PASS][7] -> [SKIP][8] ([fdo#109349])
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6137/shard-iclb2/igt@kms_dp_dsc@basic-dsc-enable-edp.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3048/shard-iclb7/igt@kms_dp_dsc@basic-dsc-enable-edp.html

  * igt@kms_flip@flip-vs-expired-vblank-interruptible:
    - shard-glk:          [PASS][9] -> [FAIL][10] ([fdo#102887] / [fdo#105363])
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6137/shard-glk6/igt@kms_flip@flip-vs-expired-vblank-interruptible.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3048/shard-glk5/igt@kms_flip@flip-vs-expired-vblank-interruptible.html

  * igt@kms_flip@modeset-vs-vblank-race-interruptible:
    - shard-glk:          [PASS][11] -> [INCOMPLETE][12] ([fdo#103359] / [k.org#198133])
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6137/shard-glk2/igt@kms_flip@modeset-vs-vblank-race-interruptible.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3048/shard-glk8/igt@kms_flip@modeset-vs-vblank-race-interruptible.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-shrfb-draw-pwrite:
    - shard-iclb:         [PASS][13] -> [FAIL][14] ([fdo#103167]) +5 similar issues
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6137/shard-iclb8/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-shrfb-draw-pwrite.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3048/shard-iclb1/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-shrfb-draw-pwrite.html

  * igt@kms_setmode@basic:
    - shard-apl:          [PASS][15] -> [FAIL][16] ([fdo#99912])
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6137/shard-apl6/igt@kms_setmode@basic.html
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3048/shard-apl5/igt@kms_setmode@basic.html

  * igt@perf@blocking:
    - shard-iclb:         [PASS][17] -> [FAIL][18] ([fdo#110728])
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6137/shard-iclb2/igt@perf@blocking.html
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3048/shard-iclb8/igt@perf@blocking.html

  
#### Possible fixes ####

  * igt@gem_ctx_isolation@bcs0-s3:
    - shard-apl:          [DMESG-WARN][19] ([fdo#108566]) -> [PASS][20] +4 similar issues
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6137/shard-apl5/igt@gem_ctx_isolation@bcs0-s3.html
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3048/shard-apl2/igt@gem_ctx_isolation@bcs0-s3.html

  * igt@gem_tiled_swapping@non-threaded:
    - shard-iclb:         [FAIL][21] ([fdo#108686]) -> [PASS][22]
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6137/shard-iclb5/igt@gem_tiled_swapping@non-threaded.html
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3048/shard-iclb1/igt@gem_tiled_swapping@non-threaded.html

  * igt@i915_pm_rc6_residency@rc6-accuracy:
    - shard-snb:          [SKIP][23] ([fdo#109271]) -> [PASS][24]
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6137/shard-snb2/igt@i915_pm_rc6_residency@rc6-accuracy.html
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3048/shard-snb5/igt@i915_pm_rc6_residency@rc6-accuracy.html

  * igt@kms_cursor_crc@pipe-a-cursor-128x128-random:
    - shard-kbl:          [FAIL][25] ([fdo#103232]) -> [PASS][26] +1 similar issue
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6137/shard-kbl4/igt@kms_cursor_crc@pipe-a-cursor-128x128-random.html
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3048/shard-kbl7/igt@kms_cursor_crc@pipe-a-cursor-128x128-random.html

  * igt@kms_cursor_crc@pipe-b-cursor-256x256-random:
    - shard-apl:          [FAIL][27] ([fdo#103232]) -> [PASS][28] +1 similar issue
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6137/shard-apl3/igt@kms_cursor_crc@pipe-b-cursor-256x256-random.html
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3048/shard-apl6/igt@kms_cursor_crc@pipe-b-cursor-256x256-random.html

  * igt@kms_cursor_legacy@2x-long-nonblocking-modeset-vs-cursor-atomic:
    - shard-glk:          [FAIL][29] ([fdo#106509] / [fdo#107409]) -> [PASS][30]
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6137/shard-glk8/igt@kms_cursor_legacy@2x-long-nonblocking-modeset-vs-cursor-atomic.html
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3048/shard-glk2/igt@kms_cursor_legacy@2x-long-nonblocking-modeset-vs-cursor-atomic.html

  * igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-indfb-draw-render:
    - shard-iclb:         [FAIL][31] ([fdo#103167]) -> [PASS][32] +1 similar issue
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6137/shard-iclb8/igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-indfb-draw-render.html
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3048/shard-iclb5/igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-indfb-draw-render.html

  * igt@kms_psr@psr2_no_drrs:
    - shard-iclb:         [SKIP][33] ([fdo#109441]) -> [PASS][34] +1 similar issue
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6137/shard-iclb6/igt@kms_psr@psr2_no_drrs.html
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3048/shard-iclb2/igt@kms_psr@psr2_no_drrs.html

  * igt@perf@polling:
    - shard-iclb:         [FAIL][35] ([fdo#110728]) -> [PASS][36]
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6137/shard-iclb7/igt@perf@polling.html
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3048/shard-iclb7/igt@perf@polling.html

  
#### Warnings ####

  * igt@gem_mmap_gtt@forked-big-copy-odd:
    - shard-iclb:         [TIMEOUT][37] ([fdo#109673]) -> [INCOMPLETE][38] ([fdo#107713] / [fdo#109100]) +1 similar issue
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6137/shard-iclb8/igt@gem_mmap_gtt@forked-big-copy-odd.html
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3048/shard-iclb4/igt@gem_mmap_gtt@forked-big-copy-odd.html

  * igt@prime_vgem@wait-bsd1:
    - shard-snb:          [FAIL][39] -> [INCOMPLETE][40] ([fdo#105411]) +1 similar issue
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6137/shard-snb5/igt@prime_vgem@wait-bsd1.html
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3048/shard-snb6/igt@prime_vgem@wait-bsd1.html

  
  [fdo#102887]: https://bugs.freedesktop.org/show_bug.cgi?id=102887
  [fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
  [fdo#103232]: https://bugs.freedesktop.org/show_bug.cgi?id=103232
  [fdo#103359]: https://bugs.freedesktop.org/show_bug.cgi?id=103359
  [fdo#103665]: https://bugs.freedesktop.org/show_bug.cgi?id=103665
  [fdo#105363]: https://bugs.freedesktop.org/show_bug.cgi?id=105363
  [fdo#105411]: https://bugs.freedesktop.org/show_bug.cgi?id=105411
  [fdo#106509]: https://bugs.freedesktop.org/show_bug.cgi?id=106509
  [fdo#107409]: https://bugs.freedesktop.org/show_bug.cgi?id=107409
  [fdo#107713]: https://bugs.freedesktop.org/show_bug.cgi?id=107713
  [fdo#107807]: https://bugs.freedesktop.org/show_bug.cgi?id=107807
  [fdo#108566]: https://bugs.freedesktop.org/show_bug.cgi?id=108566
  [fdo#108686]: https://bugs.freedesktop.org/show_bug.cgi?id=108686
  [fdo#109100]: https://bugs.freedesktop.org/show_bug.cgi?id=109100
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109349]: https://bugs.freedesktop.org/show_bug.cgi?id=109349
  [fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441
  [fdo#109673]: https://bugs.freedesktop.org/show_bug.cgi?id=109673
  [fdo#110728]: https://bugs.freedesktop.org/show_bug.cgi?id=110728
  [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 (8 -> 5)
------------------------------

  Missing    (3): pig-skl-6260u shard-skl pig-glk-j5005 


Build changes
-------------

  * IGT: IGT_5011 -> IGTPW_3048
  * Piglit: piglit_4509 -> None

  CI_DRM_6137: e0fe0a5239c1f280c1268e519dbed94e3c429d80 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_3048: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3048/
  IGT_5011: 7f120c5f1bff2727d50f3c392d81c0f6878b61d6 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit

== Logs ==

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

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

* Re: [igt-dev] [PATCH i-g-t 2/2] tests/kms_big_fb: Delay the expensive big fb creation until the last moment
  2019-05-23 20:19 ` [igt-dev] [PATCH i-g-t 2/2] tests/kms_big_fb: Delay the expensive big fb creation until the last moment Ville Syrjala
@ 2019-05-28 10:56   ` Maarten Lankhorst
  0 siblings, 0 replies; 5+ messages in thread
From: Maarten Lankhorst @ 2019-05-28 10:56 UTC (permalink / raw)
  To: Ville Syrjala, igt-dev

Op 23-05-2019 om 22:19 schreef Ville Syrjala:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> We already perform the format+mod+rotation test using the small fb, so
> we don't actually need to create the big fb until that test has been
> performed. We do need to calculate the big fb dimensions though so that
> we can calculate the coordinates we're going to use in the test.
>
> $ time kms_big_fb
> - real    0m52.902s
> + real    0m52.616s
> so not so great.
>
> But if I run each subtest separately it starts to add up:
> $ for i in `kms_big_fb --l` ; do kms_big_fb --r $i ; done
> - real    5m32.898s
> + real    4m32.164s
>
> The big difference between those two ways of running the test
> is at least partially due to the test reusing big fb between
> the different rotation subtests for each format+mod combo.
> Running each subtest individually can't get that benefit so
> avoiding needless big fb creation starts to make a difference.
>
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> ---
>  tests/kms_big_fb.c | 77 ++++++++++++++++++++++++----------------------
>  1 file changed, 41 insertions(+), 36 deletions(-)
>
> diff --git a/tests/kms_big_fb.c b/tests/kms_big_fb.c
> index c3520e225ab9..b8813a333643 100644
> --- a/tests/kms_big_fb.c
> +++ b/tests/kms_big_fb.c
> @@ -43,6 +43,7 @@ typedef struct {
>  	int width, height;
>  	igt_rotation_t rotation;
>  	int max_fb_width, max_fb_height;
> +	int big_fb_width, big_fb_height;
>  	uint64_t ram_size, aper_size, mappable_size;
>  	igt_render_copyfunc_t render_copy;
>  	drm_intel_bufmgr *bufmgr;
> @@ -186,13 +187,32 @@ static void max_fb_size(data_t *data, int *width, int *height,
>  		 *width, *height);
>  }
>  
> +static void prep_fb(data_t *data)
> +{
> +	if (data->big_fb.fb_id)
> +		return;
> +
> +	igt_create_fb(data->drm_fd,
> +		      data->big_fb_width, data->big_fb_height,
> +		      data->format, data->modifier,
> +		      &data->big_fb);
> +
> +	generate_pattern(data, &data->big_fb, 640, 480);
> +}
> +
> +static void cleanup_fb(data_t *data)
> +{
> +	igt_remove_fb(data->drm_fd, &data->big_fb);
> +	data->big_fb.fb_id = 0;
> +}
> +
>  static bool test_plane(data_t *data)
>  {
>  	igt_plane_t *plane = data->plane;
>  	struct igt_fb *small_fb = &data->small_fb;
>  	struct igt_fb *big_fb = &data->big_fb;
> -	int w = big_fb->width - small_fb->width;
> -	int h = big_fb->height - small_fb->height;
> +	int w = data->big_fb_width - small_fb->width;
> +	int h = data->big_fb_height - small_fb->height;
>  	struct {
>  		int x, y;
>  	} coords[] = {
> @@ -235,16 +255,6 @@ static bool test_plane(data_t *data)
>  			y &= ~1;
>  		}
>  
> -		/*
> -		 * Make a 1:1 copy of the desired part of the big fb
> -		 * rather than try to render the same pattern (translated
> -		 * accordinly) again via cairo. Something in cairo's
> -		 * rendering pipeline introduces slight differences into
> -		 * the result if we try that, and so the crc will not match.
> -		 */
> -		copy_pattern(data, small_fb, 0, 0, big_fb, x, y,
> -			     small_fb->width, small_fb->height);
> -
>  		igt_plane_set_fb(plane, small_fb);
>  		igt_plane_set_size(plane, data->width, data->height);
>  
> @@ -262,6 +272,22 @@ static bool test_plane(data_t *data)
>  			return false;
>  		}
>  
> +		/*
> +		 * To speed up skips we delay the big fb creation until
> +		 * the above rotation related check has been performed.
> +		 */
> +		prep_fb(data);
> +
> +		/*
> +		 * Make a 1:1 copy of the desired part of the big fb
> +		 * rather than try to render the same pattern (translated
> +		 * accordinly) again via cairo. Something in cairo's
> +		 * rendering pipeline introduces slight differences into
> +		 * the result if we try that, and so the crc will not match.
> +		 */
> +		copy_pattern(data, small_fb, 0, 0, big_fb, x, y,
> +			     small_fb->width, small_fb->height);
> +
>  		igt_display_commit2(&data->display, data->display.is_atomic ?
>  				    COMMIT_ATOMIC : COMMIT_UNIVERSAL);
>  
> @@ -352,6 +378,9 @@ static bool test_pipe(data_t *data)
>  
>  static void test_scanout(data_t *data)
>  {
> +	max_fb_size(data, &data->big_fb_width, &data->big_fb_height,
> +		    data->format, data->modifier);
> +
>  	for_each_pipe_with_valid_output(&data->display, data->pipe, data->output) {
>  		if (test_pipe(data))
>  			return;
> @@ -361,29 +390,6 @@ static void test_scanout(data_t *data)
>  	igt_skip("unsupported configuration\n");
>  }
>  
> -static void prep_fb(data_t *data)
> -{
> -	int width, height;
> -
> -	if (data->big_fb.fb_id)
> -		return;
> -
> -	max_fb_size(data, &width, &height,
> -		    data->format, data->modifier);
> -
> -	igt_create_fb(data->drm_fd, width, height,
> -		      data->format, data->modifier,
> -		      &data->big_fb);
> -
> -	generate_pattern(data, &data->big_fb, 640, 480);
> -}
> -
> -static void cleanup_fb(data_t *data)
> -{
> -	igt_remove_fb(data->drm_fd, &data->big_fb);
> -	data->big_fb.fb_id = 0;
> -}
> -
>  static void
>  test_size_overflow(data_t *data)
>  {
> @@ -650,7 +656,6 @@ igt_main
>  					      formats[j].bpp, rotations[k].angle) {
>  					igt_require(igt_fb_supported_format(data.format));
>  					igt_require(igt_display_has_format_mod(&data.display, data.format, data.modifier));
> -					prep_fb(&data);
>  					test_scanout(&data);
>  				}
>  			}

For the series:

Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

end of thread, other threads:[~2019-05-28 10:56 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-05-23 20:19 [igt-dev] [PATCH i-g-t 1/2] tests/kms_big_fb: Run the test for a single pipe only Ville Syrjala
2019-05-23 20:19 ` [igt-dev] [PATCH i-g-t 2/2] tests/kms_big_fb: Delay the expensive big fb creation until the last moment Ville Syrjala
2019-05-28 10:56   ` Maarten Lankhorst
2019-05-23 22:57 ` [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,1/2] tests/kms_big_fb: Run the test for a single pipe only Patchwork
2019-05-25  8:00 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork

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.