[Intel-gfx] [PATCH i-g-t 4/8] kms_frontbuffer_tracking: Allow to skip suspend_resume sub test case.

Paulo Zanoni przanoni at gmail.com
Mon Nov 9 05:52:20 PST 2015


2015-11-05 18:40 GMT-02:00 Ville Syrjälä <ville.syrjala at linux.intel.com>:
> 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 at intel.com>:
>> > 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 at intel.com>
>> > ---
>> >  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 at lists.freedesktop.org
>> > http://lists.freedesktop.org/mailman/listinfo/intel-gfx
>>
>>
>>
>> --
>> Paulo Zanoni
>> _______________________________________________
>> Intel-gfx mailing list
>> Intel-gfx at lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
>
> --
> Ville Syrjälä
> Intel OTC



-- 
Paulo Zanoni


More information about the Intel-gfx mailing list