* [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.