2015-11-05 18:40 GMT-02:00 Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx>: > On Thu, Nov 05, 2015 at 06:34:07PM -0200, Paulo Zanoni wrote: >> 2015-11-05 16:53 GMT-02:00 Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx>: >> > There are few platforms with other suspend resume bugs that breaks >> > the full execution. So let's provide a way to skip suspend resume case. >> >> Well, I carry a local patch that completely disables suspend subtests >> for the tests that I usually run, so I really understand your pain. >> Suspend subtests take a long time to run, and they usually don't work >> on some of the preproduction machines I still use. >> >> But since this problem is not specific to kms_frontbuffer_tracking, >> maybe we could adopt an igt-wide solution here? Thomas, any idea here? > > -x suspend is what I tell piglit on one hsw I have here which hangs on s3. The problem with piglit is that it runs every single subtest as a separate test program invocation. For KMS tests this is a huge problem since it requires generating the reference CRCs every time and it also requires a modeset to restore fbcon every single time. For non-eDP the cost is not big, but for eDP it adds up: running a subset of only 70 subtests on kms_frontbuffer_tracking, we go from 3:05 to 6:21 in total execution time. > >> >> > >> > Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> >> > --- >> > tests/kms_frontbuffer_tracking.c | 9 +++++++++ >> > 1 file changed, 9 insertions(+) >> > >> > diff --git a/tests/kms_frontbuffer_tracking.c b/tests/kms_frontbuffer_tracking.c >> > index d879493..1cc1c9e 100644 >> > --- a/tests/kms_frontbuffer_tracking.c >> > +++ b/tests/kms_frontbuffer_tracking.c >> > @@ -237,6 +237,7 @@ struct { >> > bool fbc_check_compression; >> > bool fbc_check_last_action; >> > bool no_edp; >> > + bool no_suspend; >> > bool small_modes; >> > bool show_hidden; >> > int step; >> > @@ -250,6 +251,7 @@ struct { >> > .fbc_check_compression = true, >> > .fbc_check_last_action = true, >> > .no_edp = false, >> > + .no_suspend = false, >> > .small_modes = false, >> > .show_hidden= false, >> > .step = 0, >> > @@ -2735,6 +2737,8 @@ static void suspend_subtest(const struct test_mode *t) >> > { >> > struct modeset_params *params = pick_params(t); >> > >> > + igt_skip_on(opt.no_suspend); >> > + >> > prepare_subtest(t, NULL); >> > sleep(5); >> > igt_system_suspend_autoresume(); >> > @@ -2950,6 +2954,9 @@ static int opt_handler(int option, int option_index, void *data) >> > case 'e': >> > opt.no_edp = true; >> > break; >> > + case 'r': >> > + opt.no_suspend = true; >> > + break; >> > case 'm': >> > opt.small_modes = true; >> > break; >> > @@ -2992,6 +2999,7 @@ const char *help_str = >> > " --no-fbc-compression-check Don't check for the FBC compression status\n" >> > " --no-fbc-action-check Don't check for the FBC last action\n" >> > " --no-edp Don't use eDP monitors\n" >> > +" --no-suspend Don't run Suspend/Resume test cases\n" >> > " --use-small-modes Use smaller resolutions for the modes\n" >> > " --show-hidden Show hidden subtests\n" >> > " --step Stop on each step so you can check the screen\n" >> > @@ -3117,6 +3125,7 @@ int main(int argc, char *argv[]) >> > { "no-fbc-compression-check", 0, 0, 'o'}, >> > { "no-fbc-action-check", 0, 0, 'a'}, >> > { "no-edp", 0, 0, 'e'}, >> > + { "no-suspend", 0, 0, 'r'}, >> > { "use-small-modes", 0, 0, 'm'}, >> > { "show-hidden", 0, 0, 'i'}, >> > { "step", 0, 0, 't'}, >> > -- >> > 2.4.3 >> > >> > _______________________________________________ >> > Intel-gfx mailing list >> > Intel-gfx@xxxxxxxxxxxxxxxxxxxxx >> > http://lists.freedesktop.org/mailman/listinfo/intel-gfx >> >> >> >> -- >> Paulo Zanoni >> _______________________________________________ >> Intel-gfx mailing list >> Intel-gfx@xxxxxxxxxxxxxxxxxxxxx >> http://lists.freedesktop.org/mailman/listinfo/intel-gfx > > -- > Ville Syrjälä > Intel OTC -- Paulo Zanoni _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx