All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH i-g-t 0/2] kms_plane: Enumerate outputs before planes
@ 2017-11-21 19:52 Imre Deak
  2017-11-21 19:52 ` [PATCH i-g-t 1/2] kms_plane: Enumerate outputs before planes in position subtests Imre Deak
                   ` (6 more replies)
  0 siblings, 7 replies; 9+ messages in thread
From: Imre Deak @ 2017-11-21 19:52 UTC (permalink / raw)
  To: intel-gfx

Enumerate outputs before planes means we can avoid doing an extra
modeset when calculating the reference CRC during the test of each
plane. In addition when testing multiple outputs we can avoid a full
modeset we currently do whenever switching to a new output within a
subtest. This speeds up things especially on internal panels with long
power cycle delays.

Below is the runtime of kms_plane on my GLK before and after the change.
I excluded from this the DPMS and suspend subtests, since those
transitions have a bigger overhead, unrelated to this change.

With a single HDMI output:
 42s vs 26s

With a single eDP output:
115s vs 50s

With eDP+HDMI output:
171s vs 74s

Imre Deak (2):
  kms_plane: Enumerate outputs before planes in position subtests
  kms_plane: Enumerate outputs before planes in panning subtests

 tests/kms_plane.c | 120 +++++++++++++++++++++++-------------------------------
 1 file changed, 51 insertions(+), 69 deletions(-)

-- 
2.11.0

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

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

* [PATCH i-g-t 1/2] kms_plane: Enumerate outputs before planes in position subtests
  2017-11-21 19:52 [PATCH i-g-t 0/2] kms_plane: Enumerate outputs before planes Imre Deak
@ 2017-11-21 19:52 ` Imre Deak
  2017-11-21 19:52 ` [PATCH i-g-t 2/2] kms_plane: Enumerate outputs before planes in panning subtests Imre Deak
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 9+ messages in thread
From: Imre Deak @ 2017-11-21 19:52 UTC (permalink / raw)
  To: intel-gfx

Enumerating outputs before planes allows us to calculate the reference
CRC only once for each subtest instead of calculating it for each plane
tested. This removes an extra modeset during the test of each plane,
speeding up things, especially on internal panels with long power
cycle delays.

In addition when testing multiple outputs we'll now test all planes for
a given output in one go, so we can avoid the full modeset we currently
have when switching from one output to another when testing a given
plane.

While at it remove the redundant igt_skip_on() for non-existant pipes
and planes, we check for these already earlier.

Signed-off-by: Imre Deak <imre.deak@intel.com>
---
 tests/kms_plane.c | 55 +++++++++++++++++++++++--------------------------------
 1 file changed, 23 insertions(+), 32 deletions(-)

diff --git a/tests/kms_plane.c b/tests/kms_plane.c
index 81249750..640356e8 100644
--- a/tests/kms_plane.c
+++ b/tests/kms_plane.c
@@ -152,9 +152,9 @@ test_plane_position_with_output(data_t *data,
 				enum pipe pipe,
 				int plane,
 				igt_output_t *output,
+				igt_crc_t *reference_crc,
 				unsigned int flags)
 {
-	test_position_t test = { .data = data };
 	igt_plane_t *primary, *sprite;
 	struct igt_fb primary_fb, sprite_fb;
 	drmModeModeInfo *mode;
@@ -163,10 +163,6 @@ test_plane_position_with_output(data_t *data,
 	igt_info("Testing connector %s using pipe %s plane %d\n",
 		 igt_output_name(output), kmstest_pipe_name(pipe), plane);
 
-	test_init(data, pipe);
-
-	test_grab_crc(data, output, pipe, &green, &test.reference_crc);
-
 	igt_output_set_pipe(output, pipe);
 
 	mode = igt_output_get_mode(output);
@@ -206,7 +202,7 @@ test_plane_position_with_output(data_t *data,
 	igt_pipe_crc_collect_crc(data->pipe_crc, &crc2);
 
 	if (flags & TEST_POSITION_FULLY_COVERED)
-		igt_assert_crc_equal(&test.reference_crc, &crc);
+		igt_assert_crc_equal(reference_crc, &crc);
 	else {
 		;/* FIXME: missing reference CRCs */
 	}
@@ -218,23 +214,29 @@ test_plane_position_with_output(data_t *data,
 
 	/* reset the constraint on the pipe */
 	igt_output_set_pipe(output, PIPE_ANY);
-
-	test_fini(data);
 }
 
 static void
-test_plane_position(data_t *data, enum pipe pipe, int plane,
-		    unsigned int flags)
+test_plane_position(data_t *data, enum pipe pipe, unsigned int flags)
 {
 	igt_output_t *output;
 	int connected_outs = 0;
 
-	igt_skip_on(pipe >= data->display.n_pipes);
-	igt_skip_on(plane >= data->display.pipes[pipe].n_planes);
-
 	for_each_valid_output_on_pipe(&data->display, pipe, output) {
-		test_plane_position_with_output(data, pipe, plane, output,
-						flags);
+		int n_planes = data->display.pipes[pipe].n_planes;
+		igt_crc_t reference_crc;
+
+		test_init(data, pipe);
+
+		test_grab_crc(data, output, pipe, &green, &reference_crc);
+
+		for (int plane = 1; plane < n_planes; plane++)
+			test_plane_position_with_output(data, pipe, plane,
+							output, &reference_crc,
+							flags);
+
+		test_fini(data);
+
 		connected_outs++;
 	}
 
@@ -373,27 +375,16 @@ run_tests_for_pipe_plane(data_t *data, enum pipe pipe)
 	}
 
 	igt_subtest_f("plane-position-covered-pipe-%s-planes",
-		      kmstest_pipe_name(pipe)) {
-		int n_planes = data->display.pipes[pipe].n_planes;
-		for (int plane = 1; plane < n_planes; plane++)
-			test_plane_position(data, pipe, plane,
-					    TEST_POSITION_FULLY_COVERED);
-	}
+		      kmstest_pipe_name(pipe))
+		test_plane_position(data, pipe, TEST_POSITION_FULLY_COVERED);
 
 	igt_subtest_f("plane-position-hole-pipe-%s-planes",
-		      kmstest_pipe_name(pipe)) {
-		int n_planes = data->display.pipes[pipe].n_planes;
-		for (int plane = 1; plane < n_planes; plane++)
-			test_plane_position(data, pipe, plane, 0);
-	}
+		      kmstest_pipe_name(pipe))
+		test_plane_position(data, pipe, 0);
 
 	igt_subtest_f("plane-position-hole-dpms-pipe-%s-planes",
-		      kmstest_pipe_name(pipe)) {
-		int n_planes = data->display.pipes[pipe].n_planes;
-		for (int plane = 1; plane < n_planes; plane++)
-			test_plane_position(data, pipe, plane,
-					    TEST_DPMS);
-	}
+		      kmstest_pipe_name(pipe))
+		test_plane_position(data, pipe, TEST_DPMS);
 
 	igt_subtest_f("plane-panning-top-left-pipe-%s-planes",
 		      kmstest_pipe_name(pipe)) {
-- 
2.11.0

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

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

* [PATCH i-g-t 2/2] kms_plane: Enumerate outputs before planes in panning subtests
  2017-11-21 19:52 [PATCH i-g-t 0/2] kms_plane: Enumerate outputs before planes Imre Deak
  2017-11-21 19:52 ` [PATCH i-g-t 1/2] kms_plane: Enumerate outputs before planes in position subtests Imre Deak
@ 2017-11-21 19:52 ` Imre Deak
  2017-11-22 12:03 ` ✓ Fi.CI.BAT: success for kms_plane: Enumerate outputs before planes Patchwork
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 9+ messages in thread
From: Imre Deak @ 2017-11-21 19:52 UTC (permalink / raw)
  To: intel-gfx

Enumerating outputs before planes allows us to calculate the reference
CRC only once for each subtest instead of calculating it for each plane
tested. This removes an extra modeset during the test of each plane,
speeding up things, especially on internal panels with long power
cycle delays.

In addition when testing multiple outputs we'll now test all planes for
a given output in one go, so we can avoid the full modeset we currently
have when switching from one output to another when testing a given
plane.

Signed-off-by: Imre Deak <imre.deak@intel.com>
---
 tests/kms_plane.c | 65 ++++++++++++++++++++++++-------------------------------
 1 file changed, 28 insertions(+), 37 deletions(-)

diff --git a/tests/kms_plane.c b/tests/kms_plane.c
index 640356e8..92bf67f1 100644
--- a/tests/kms_plane.c
+++ b/tests/kms_plane.c
@@ -255,11 +255,6 @@ test_plane_position(data_t *data, enum pipe pipe, unsigned int flags)
  *   - The TEST_PANNING_BOTTOM_RIGHT test makes sure that with panning at
  *     (vdisplay, hdisplay) we do get the same CRC than the full blue fb.
  */
-typedef struct {
-	data_t *data;
-	igt_crc_t red_crc, blue_crc;
-} test_panning_t;
-
 static void
 create_fb_for_mode__panning(data_t *data, drmModeModeInfo *mode,
 			    struct igt_fb *fb /* out */)
@@ -299,9 +294,9 @@ test_plane_panning_with_output(data_t *data,
 			       enum pipe pipe,
 			       int plane,
 			       igt_output_t *output,
+			       igt_crc_t *red_crc, igt_crc_t *blue_crc,
 			       unsigned int flags)
 {
-	test_panning_t test = { .data = data };
 	igt_plane_t *primary;
 	struct igt_fb primary_fb;
 	drmModeModeInfo *mode;
@@ -310,11 +305,6 @@ test_plane_panning_with_output(data_t *data,
 	igt_info("Testing connector %s using pipe %s plane %d\n",
 		 igt_output_name(output), kmstest_pipe_name(pipe), plane);
 
-	test_init(data, pipe);
-
-	test_grab_crc(data, output, pipe, &red, &test.red_crc);
-	test_grab_crc(data, output, pipe, &blue, &test.blue_crc);
-
 	igt_output_set_pipe(output, pipe);
 
 	mode = igt_output_get_mode(output);
@@ -337,29 +327,41 @@ test_plane_panning_with_output(data_t *data,
 	igt_pipe_crc_collect_crc(data->pipe_crc, &crc);
 
 	if (flags & TEST_PANNING_TOP_LEFT)
-		igt_assert_crc_equal(&test.red_crc, &crc);
+		igt_assert_crc_equal(red_crc, &crc);
 	else
-		igt_assert_crc_equal(&test.blue_crc, &crc);
+		igt_assert_crc_equal(blue_crc, &crc);
 
 	igt_plane_set_fb(primary, NULL);
 
 	/* reset states to neutral values, assumed by other tests */
 	igt_output_set_pipe(output, PIPE_ANY);
 	igt_fb_set_position(&primary_fb, primary, 0, 0);
-
-	test_fini(data);
 }
 
 static void
-test_plane_panning(data_t *data, enum pipe pipe, int plane,
-		   unsigned int flags)
+test_plane_panning(data_t *data, enum pipe pipe, unsigned int flags)
 {
 	igt_output_t *output;
 	int connected_outs = 0;
 
 	for_each_valid_output_on_pipe(&data->display, pipe, output) {
-		test_plane_panning_with_output(data, pipe, plane, output,
-						flags);
+		int n_planes = data->display.pipes[pipe].n_planes;
+		igt_crc_t red_crc;
+		igt_crc_t blue_crc;
+
+		test_init(data, pipe);
+
+		test_grab_crc(data, output, pipe, &red, &red_crc);
+		test_grab_crc(data, output, pipe, &blue, &blue_crc);
+
+		for (int plane = 1; plane < n_planes; plane++)
+			test_plane_panning_with_output(data, pipe, plane,
+						       output,
+						       &red_crc, &blue_crc,
+						       flags);
+
+		test_fini(data);
+
 		connected_outs++;
 	}
 
@@ -387,28 +389,17 @@ run_tests_for_pipe_plane(data_t *data, enum pipe pipe)
 		test_plane_position(data, pipe, TEST_DPMS);
 
 	igt_subtest_f("plane-panning-top-left-pipe-%s-planes",
-		      kmstest_pipe_name(pipe)) {
-		int n_planes = data->display.pipes[pipe].n_planes;
-		for (int plane = 1; plane < n_planes; plane++)
-			test_plane_panning(data, pipe, plane, TEST_PANNING_TOP_LEFT);
-	}
+		      kmstest_pipe_name(pipe))
+		test_plane_panning(data, pipe, TEST_PANNING_TOP_LEFT);
 
 	igt_subtest_f("plane-panning-bottom-right-pipe-%s-planes",
-		      kmstest_pipe_name(pipe)) {
-		int n_planes = data->display.pipes[pipe].n_planes;
-		for (int plane = 1; plane < n_planes; plane++)
-			test_plane_panning(data, pipe, plane,
-					   TEST_PANNING_BOTTOM_RIGHT);
-	}
+		      kmstest_pipe_name(pipe))
+		test_plane_panning(data, pipe, TEST_PANNING_BOTTOM_RIGHT);
 
 	igt_subtest_f("plane-panning-bottom-right-suspend-pipe-%s-planes",
-		      kmstest_pipe_name(pipe)) {
-		int n_planes = data->display.pipes[pipe].n_planes;
-		for (int plane = 1; plane < n_planes; plane++)
-			test_plane_panning(data, pipe, plane,
-					   TEST_PANNING_BOTTOM_RIGHT |
-					   TEST_SUSPEND_RESUME);
-	}
+		      kmstest_pipe_name(pipe))
+		test_plane_panning(data, pipe, TEST_PANNING_BOTTOM_RIGHT |
+					       TEST_SUSPEND_RESUME);
 }
 
 
-- 
2.11.0

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

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

* ✓ Fi.CI.BAT: success for kms_plane: Enumerate outputs before planes
  2017-11-21 19:52 [PATCH i-g-t 0/2] kms_plane: Enumerate outputs before planes Imre Deak
  2017-11-21 19:52 ` [PATCH i-g-t 1/2] kms_plane: Enumerate outputs before planes in position subtests Imre Deak
  2017-11-21 19:52 ` [PATCH i-g-t 2/2] kms_plane: Enumerate outputs before planes in panning subtests Imre Deak
@ 2017-11-22 12:03 ` Patchwork
  2017-11-22 14:33 ` ✓ Fi.CI.IGT: " Patchwork
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 9+ messages in thread
From: Patchwork @ 2017-11-22 12:03 UTC (permalink / raw)
  To: Imre Deak; +Cc: intel-gfx

== Series Details ==

Series: kms_plane: Enumerate outputs before planes
URL   : https://patchwork.freedesktop.org/series/34190/
State : success

== Summary ==

IGT patchset tested on top of latest successful build
f8f6db9ced0061229018fa658cf1c80c56464686 tools/intel_watermark: Try not to dump nonexistent planes on SKL+

with latest DRM-Tip kernel build CI_DRM_3371
d8251dc669fe drm-tip: 2017y-11m-22d-10h-27m-38s UTC integration manifest

No testlist changes.

fi-bdw-5557u     total:289  pass:268  dwarn:0   dfail:0   fail:0   skip:21  time:442s
fi-bdw-gvtdvm    total:289  pass:265  dwarn:0   dfail:0   fail:0   skip:24  time:457s
fi-blb-e6850     total:289  pass:223  dwarn:1   dfail:0   fail:0   skip:65  time:383s
fi-bsw-n3050     total:289  pass:243  dwarn:0   dfail:0   fail:0   skip:46  time:548s
fi-bwr-2160      total:289  pass:183  dwarn:0   dfail:0   fail:0   skip:106 time:279s
fi-bxt-dsi       total:289  pass:259  dwarn:0   dfail:0   fail:0   skip:30  time:515s
fi-bxt-j4205     total:289  pass:260  dwarn:0   dfail:0   fail:0   skip:29  time:508s
fi-byt-n2820     total:289  pass:250  dwarn:0   dfail:0   fail:0   skip:39  time:494s
fi-cfl-s2        total:289  pass:263  dwarn:0   dfail:0   fail:0   skip:26  time:603s
fi-elk-e7500     total:289  pass:229  dwarn:0   dfail:0   fail:0   skip:60  time:427s
fi-gdg-551       total:289  pass:178  dwarn:1   dfail:0   fail:1   skip:109 time:266s
fi-glk-1         total:289  pass:261  dwarn:0   dfail:0   fail:0   skip:28  time:542s
fi-hsw-4770      total:289  pass:262  dwarn:0   dfail:0   fail:0   skip:27  time:437s
fi-hsw-4770r     total:289  pass:262  dwarn:0   dfail:0   fail:0   skip:27  time:442s
fi-ilk-650       total:289  pass:228  dwarn:0   dfail:0   fail:0   skip:61  time:428s
fi-ivb-3520m     total:289  pass:260  dwarn:0   dfail:0   fail:0   skip:29  time:482s
fi-ivb-3770      total:289  pass:260  dwarn:0   dfail:0   fail:0   skip:29  time:469s
fi-kbl-7500u     total:289  pass:264  dwarn:1   dfail:0   fail:0   skip:24  time:482s
fi-kbl-7560u     total:289  pass:270  dwarn:0   dfail:0   fail:0   skip:19  time:531s
fi-kbl-7567u     total:289  pass:269  dwarn:0   dfail:0   fail:0   skip:20  time:478s
fi-kbl-r         total:289  pass:262  dwarn:0   dfail:0   fail:0   skip:27  time:536s
fi-pnv-d510      total:289  pass:222  dwarn:1   dfail:0   fail:0   skip:66  time:583s
fi-skl-6260u     total:289  pass:269  dwarn:0   dfail:0   fail:0   skip:20  time:457s
fi-skl-6600u     total:289  pass:262  dwarn:0   dfail:0   fail:0   skip:27  time:543s
fi-skl-6700hq    total:289  pass:263  dwarn:0   dfail:0   fail:0   skip:26  time:566s
fi-skl-6700k     total:289  pass:265  dwarn:0   dfail:0   fail:0   skip:24  time:517s
fi-skl-6770hq    total:289  pass:269  dwarn:0   dfail:0   fail:0   skip:20  time:500s
fi-skl-gvtdvm    total:289  pass:266  dwarn:0   dfail:0   fail:0   skip:23  time:465s
fi-snb-2520m     total:246  pass:212  dwarn:0   dfail:0   fail:0   skip:33 
fi-snb-2600      total:289  pass:249  dwarn:0   dfail:0   fail:0   skip:40  time:425s
Blacklisted hosts:
fi-cnl-y         total:289  pass:262  dwarn:0   dfail:0   fail:0   skip:27  time:558s
fi-glk-dsi       total:289  pass:259  dwarn:0   dfail:0   fail:0   skip:30  time:495s

== Logs ==

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

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

* ✓ Fi.CI.IGT: success for kms_plane: Enumerate outputs before planes
  2017-11-21 19:52 [PATCH i-g-t 0/2] kms_plane: Enumerate outputs before planes Imre Deak
                   ` (2 preceding siblings ...)
  2017-11-22 12:03 ` ✓ Fi.CI.BAT: success for kms_plane: Enumerate outputs before planes Patchwork
@ 2017-11-22 14:33 ` Patchwork
  2017-11-23 14:53 ` ✓ Fi.CI.BAT: " Patchwork
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 9+ messages in thread
From: Patchwork @ 2017-11-22 14:33 UTC (permalink / raw)
  To: Imre Deak; +Cc: intel-gfx

== Series Details ==

Series: kms_plane: Enumerate outputs before planes
URL   : https://patchwork.freedesktop.org/series/34190/
State : success

== Summary ==

Test drv_module_reload:
        Subgroup basic-reload-inject:
                pass       -> DMESG-WARN (shard-snb) fdo#102707 +2
Test kms_frontbuffer_tracking:
        Subgroup fbc-1p-offscren-pri-shrfb-draw-blt:
                pass       -> FAIL       (shard-snb) fdo#101623

fdo#102707 https://bugs.freedesktop.org/show_bug.cgi?id=102707
fdo#101623 https://bugs.freedesktop.org/show_bug.cgi?id=101623

shard-hsw        total:2585 pass:1475 dwarn:1   dfail:0   fail:10  skip:1099 time:9547s
shard-snb        total:2585 pass:1257 dwarn:3   dfail:0   fail:12  skip:1313 time:8085s
Blacklisted hosts:
shard-apl        total:2565 pass:1603 dwarn:2   dfail:0   fail:22  skip:936 time:13239s

== Logs ==

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

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

* ✓ Fi.CI.BAT: success for kms_plane: Enumerate outputs before planes
  2017-11-21 19:52 [PATCH i-g-t 0/2] kms_plane: Enumerate outputs before planes Imre Deak
                   ` (3 preceding siblings ...)
  2017-11-22 14:33 ` ✓ Fi.CI.IGT: " Patchwork
@ 2017-11-23 14:53 ` Patchwork
  2017-11-23 16:21 ` ✓ Fi.CI.IGT: " Patchwork
  2017-11-29 15:07 ` [PATCH i-g-t 0/2] " Daniel Vetter
  6 siblings, 0 replies; 9+ messages in thread
From: Patchwork @ 2017-11-23 14:53 UTC (permalink / raw)
  To: Imre Deak; +Cc: intel-gfx

== Series Details ==

Series: kms_plane: Enumerate outputs before planes
URL   : https://patchwork.freedesktop.org/series/34190/
State : success

== Summary ==

IGT patchset tested on top of latest successful build
a1e444f4c8178acb590d41c21e921c6447668be4 tests/perf_pmu: Bump measuring duration for semaphores as well

with latest DRM-Tip kernel build CI_DRM_3377
9d399f816945 drm-tip: 2017y-11m-23d-12h-28m-12s UTC integration manifest

No testlist changes.

fi-bdw-5557u     total:289  pass:268  dwarn:0   dfail:0   fail:0   skip:21  time:450s
fi-bdw-gvtdvm    total:289  pass:265  dwarn:0   dfail:0   fail:0   skip:24  time:456s
fi-blb-e6850     total:289  pass:223  dwarn:1   dfail:0   fail:0   skip:65  time:380s
fi-bsw-n3050     total:289  pass:243  dwarn:0   dfail:0   fail:0   skip:46  time:560s
fi-bwr-2160      total:289  pass:183  dwarn:0   dfail:0   fail:0   skip:106 time:278s
fi-bxt-dsi       total:289  pass:259  dwarn:0   dfail:0   fail:0   skip:30  time:510s
fi-bxt-j4205     total:289  pass:260  dwarn:0   dfail:0   fail:0   skip:29  time:508s
fi-byt-j1900     total:289  pass:254  dwarn:0   dfail:0   fail:0   skip:35  time:503s
fi-byt-n2820     total:289  pass:250  dwarn:0   dfail:0   fail:0   skip:39  time:492s
fi-cfl-s2        total:289  pass:263  dwarn:0   dfail:0   fail:0   skip:26  time:608s
fi-elk-e7500     total:289  pass:229  dwarn:0   dfail:0   fail:0   skip:60  time:437s
fi-gdg-551       total:289  pass:178  dwarn:1   dfail:0   fail:1   skip:109 time:266s
fi-glk-1         total:289  pass:261  dwarn:0   dfail:0   fail:0   skip:28  time:546s
fi-hsw-4770      total:289  pass:262  dwarn:0   dfail:0   fail:0   skip:27  time:430s
fi-hsw-4770r     total:289  pass:262  dwarn:0   dfail:0   fail:0   skip:27  time:440s
fi-ilk-650       total:289  pass:228  dwarn:0   dfail:0   fail:0   skip:61  time:432s
fi-ivb-3520m     total:289  pass:260  dwarn:0   dfail:0   fail:0   skip:29  time:482s
fi-ivb-3770      total:289  pass:260  dwarn:0   dfail:0   fail:0   skip:29  time:473s
fi-pnv-d510      total:289  pass:222  dwarn:1   dfail:0   fail:0   skip:66  time:585s
fi-skl-6260u     total:289  pass:269  dwarn:0   dfail:0   fail:0   skip:20  time:456s
fi-skl-6600u     total:289  pass:262  dwarn:0   dfail:0   fail:0   skip:27  time:547s
fi-skl-6700hq    total:289  pass:263  dwarn:0   dfail:0   fail:0   skip:26  time:568s
fi-skl-6700k     total:289  pass:265  dwarn:0   dfail:0   fail:0   skip:24  time:521s
fi-skl-6770hq    total:289  pass:269  dwarn:0   dfail:0   fail:0   skip:20  time:491s
fi-skl-gvtdvm    total:289  pass:266  dwarn:0   dfail:0   fail:0   skip:23  time:463s
fi-snb-2520m     total:289  pass:250  dwarn:0   dfail:0   fail:0   skip:39  time:564s
fi-snb-2600      total:289  pass:249  dwarn:0   dfail:0   fail:0   skip:40  time:428s
Blacklisted hosts:
fi-glk-dsi       total:289  pass:259  dwarn:0   dfail:0   fail:0   skip:30  time:490s
fi-kbl-7500u     total:289  pass:264  dwarn:1   dfail:0   fail:0   skip:24  time:480s
fi-kbl-7560u     total:289  pass:270  dwarn:0   dfail:0   fail:0   skip:19  time:534s
fi-kbl-7567u     total:289  pass:269  dwarn:0   dfail:0   fail:0   skip:20  time:478s
fi-kbl-r         total:289  pass:262  dwarn:0   dfail:0   fail:0   skip:27  time:536s

== Logs ==

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

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

* ✓ Fi.CI.IGT: success for kms_plane: Enumerate outputs before planes
  2017-11-21 19:52 [PATCH i-g-t 0/2] kms_plane: Enumerate outputs before planes Imre Deak
                   ` (4 preceding siblings ...)
  2017-11-23 14:53 ` ✓ Fi.CI.BAT: " Patchwork
@ 2017-11-23 16:21 ` Patchwork
  2017-11-29 15:07 ` [PATCH i-g-t 0/2] " Daniel Vetter
  6 siblings, 0 replies; 9+ messages in thread
From: Patchwork @ 2017-11-23 16:21 UTC (permalink / raw)
  To: Imre Deak; +Cc: intel-gfx

== Series Details ==

Series: kms_plane: Enumerate outputs before planes
URL   : https://patchwork.freedesktop.org/series/34190/
State : success

== Summary ==

Test kms_setmode:
        Subgroup basic:
                pass       -> FAIL       (shard-hsw) fdo#99912
Test kms_flip:
        Subgroup plain-flip-ts-check-interruptible:
                pass       -> FAIL       (shard-hsw) fdo#100368 +2
        Subgroup blt-flip-vs-panning-interruptible:
                dmesg-warn -> PASS       (shard-hsw)
Test kms_frontbuffer_tracking:
        Subgroup fbc-1p-offscren-pri-shrfb-draw-render:
                fail       -> PASS       (shard-snb) fdo#101623
Test drv_module_reload:
        Subgroup basic-reload:
                pass       -> DMESG-WARN (shard-hsw) fdo#102707 +2

fdo#99912 https://bugs.freedesktop.org/show_bug.cgi?id=99912
fdo#100368 https://bugs.freedesktop.org/show_bug.cgi?id=100368
fdo#101623 https://bugs.freedesktop.org/show_bug.cgi?id=101623
fdo#102707 https://bugs.freedesktop.org/show_bug.cgi?id=102707

shard-hsw        total:2667 pass:1532 dwarn:2   dfail:0   fail:12  skip:1121 time:9522s
shard-snb        total:2649 pass:1293 dwarn:1   dfail:0   fail:13  skip:1341 time:7983s
Blacklisted hosts:
shard-apl        total:2647 pass:1665 dwarn:1   dfail:0   fail:26  skip:954 time:13350s

== Logs ==

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

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

* Re: [PATCH i-g-t 0/2] kms_plane: Enumerate outputs before planes
  2017-11-21 19:52 [PATCH i-g-t 0/2] kms_plane: Enumerate outputs before planes Imre Deak
                   ` (5 preceding siblings ...)
  2017-11-23 16:21 ` ✓ Fi.CI.IGT: " Patchwork
@ 2017-11-29 15:07 ` Daniel Vetter
  2017-11-30 12:06   ` Imre Deak
  6 siblings, 1 reply; 9+ messages in thread
From: Daniel Vetter @ 2017-11-29 15:07 UTC (permalink / raw)
  To: Imre Deak; +Cc: intel-gfx

On Tue, Nov 21, 2017 at 09:52:52PM +0200, Imre Deak wrote:
> Enumerate outputs before planes means we can avoid doing an extra
> modeset when calculating the reference CRC during the test of each
> plane. In addition when testing multiple outputs we can avoid a full
> modeset we currently do whenever switching to a new output within a
> subtest. This speeds up things especially on internal panels with long
> power cycle delays.
> 
> Below is the runtime of kms_plane on my GLK before and after the change.
> I excluded from this the DPMS and suspend subtests, since those
> transitions have a bigger overhead, unrelated to this change.

Even better would be to push the modeset out of the subtests into
igt_fixtures, so that we can amortize them over all subtests. Since
somewhen in the future CI will run tests binaries-at-a-time, instead of
subtests.

That means we won't test all combinations of crtc/output, but for all the
hw I know there's no difference really. Timestamps are a different story,
but these tests here don't check for that.

And yes we need to make these tests faster, especially on gen9 kms takes
too long.

Either way this improves a lot already, on both patches:

Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>

> 
> With a single HDMI output:
>  42s vs 26s
> 
> With a single eDP output:
> 115s vs 50s
> 
> With eDP+HDMI output:
> 171s vs 74s
> 
> Imre Deak (2):
>   kms_plane: Enumerate outputs before planes in position subtests
>   kms_plane: Enumerate outputs before planes in panning subtests
> 
>  tests/kms_plane.c | 120 +++++++++++++++++++++++-------------------------------
>  1 file changed, 51 insertions(+), 69 deletions(-)
> 
> -- 
> 2.11.0
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: [PATCH i-g-t 0/2] kms_plane: Enumerate outputs before planes
  2017-11-29 15:07 ` [PATCH i-g-t 0/2] " Daniel Vetter
@ 2017-11-30 12:06   ` Imre Deak
  0 siblings, 0 replies; 9+ messages in thread
From: Imre Deak @ 2017-11-30 12:06 UTC (permalink / raw)
  To: Daniel Vetter; +Cc: intel-gfx

On Wed, Nov 29, 2017 at 04:07:10PM +0100, Daniel Vetter wrote:
> On Tue, Nov 21, 2017 at 09:52:52PM +0200, Imre Deak wrote:
> > Enumerate outputs before planes means we can avoid doing an extra
> > modeset when calculating the reference CRC during the test of each
> > plane. In addition when testing multiple outputs we can avoid a full
> > modeset we currently do whenever switching to a new output within a
> > subtest. This speeds up things especially on internal panels with long
> > power cycle delays.
> > 
> > Below is the runtime of kms_plane on my GLK before and after the change.
> > I excluded from this the DPMS and suspend subtests, since those
> > transitions have a bigger overhead, unrelated to this change.
> 
> Even better would be to push the modeset out of the subtests into
> igt_fixtures, so that we can amortize them over all subtests. Since
> somewhen in the future CI will run tests binaries-at-a-time, instead of
> subtests.

Yes, in that case it'd make sense to calculate one CRC per output
independent of the crtc. 

> That means we won't test all combinations of crtc/output, but for all the
> hw I know there's no difference really. Timestamps are a different story,
> but these tests here don't check for that.

Ville had a good idea here, to add an option to filter for
crtc/output/plane/rotation/format etc. for which a test would be run.

> 
> And yes we need to make these tests faster, especially on gen9 kms takes
> too long.
> 
> Either way this improves a lot already, on both patches:
> 
> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>

Thanks.

> 
> > 
> > With a single HDMI output:
> >  42s vs 26s
> > 
> > With a single eDP output:
> > 115s vs 50s
> > 
> > With eDP+HDMI output:
> > 171s vs 74s
> > 
> > Imre Deak (2):
> >   kms_plane: Enumerate outputs before planes in position subtests
> >   kms_plane: Enumerate outputs before planes in panning subtests
> > 
> >  tests/kms_plane.c | 120 +++++++++++++++++++++++-------------------------------
> >  1 file changed, 51 insertions(+), 69 deletions(-)
> > 
> > -- 
> > 2.11.0
> > 
> > _______________________________________________
> > Intel-gfx mailing list
> > Intel-gfx@lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/intel-gfx
> 
> -- 
> Daniel Vetter
> Software Engineer, Intel Corporation
> http://blog.ffwll.ch
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

end of thread, other threads:[~2017-11-30 12:06 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-11-21 19:52 [PATCH i-g-t 0/2] kms_plane: Enumerate outputs before planes Imre Deak
2017-11-21 19:52 ` [PATCH i-g-t 1/2] kms_plane: Enumerate outputs before planes in position subtests Imre Deak
2017-11-21 19:52 ` [PATCH i-g-t 2/2] kms_plane: Enumerate outputs before planes in panning subtests Imre Deak
2017-11-22 12:03 ` ✓ Fi.CI.BAT: success for kms_plane: Enumerate outputs before planes Patchwork
2017-11-22 14:33 ` ✓ Fi.CI.IGT: " Patchwork
2017-11-23 14:53 ` ✓ Fi.CI.BAT: " Patchwork
2017-11-23 16:21 ` ✓ Fi.CI.IGT: " Patchwork
2017-11-29 15:07 ` [PATCH i-g-t 0/2] " Daniel Vetter
2017-11-30 12:06   ` Imre Deak

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.