Message ID | 20170616105530.22302-1-tvrtko.ursulin@linux.intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Quoting Tvrtko Ursulin (2017-06-16 11:55:29) > From: Tvrtko Ursulin <tvrtko.ursulin@intel.com> > > Where there is both default and render for the same test, > remove the former to save some execution time. Fwiw, ack to using a subset of engines in each test. Though I'd prefer it if we engineered a better subtest for each test that gave coverage across all, the caveat being that we need clear detection of the error (e.g. if we have a dodgy flush on one engine). -Chris
On Fri, Jun 16, 2017 at 12:55 PM, Tvrtko Ursulin <tursulin@ursulin.net> wrote: > From: Tvrtko Ursulin <tvrtko.ursulin@intel.com> > > Where there is both default and render for the same test, > remove the former to save some execution time. If they are redundant, why do we even have them? Can we just remove the testcase itself? Accumulating unused tests of questionable use at best in igt is serious pain, because it means we never can get to a world where new testcases are auto-added to CI withou some manual review. And that's the world of pain we live in now and I really want to get out of it. That means reviewing and removing testcases, not massaging courated testlists forever, I don't think we have the time for that among all the other tasks. </rant> :-) Cheers, Daniel > > Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> > --- > tests/intel-ci/extended.testlist | 21 --------------------- > 1 file changed, 21 deletions(-) > > diff --git a/tests/intel-ci/extended.testlist b/tests/intel-ci/extended.testlist > index 24ec295faf66..e0926ff09bcd 100644 > --- a/tests/intel-ci/extended.testlist > +++ b/tests/intel-ci/extended.testlist > @@ -76,7 +76,6 @@ igt@gem_ringfill@blt-bomb > igt@gem_ringfill@bsd-bomb > igt@gem_ringfill@bsd1-bomb > igt@gem_ringfill@bsd2-bomb > -igt@gem_ringfill@default-bomb > igt@gem_ringfill@render-bomb > igt@gem_ringfill@vebox-bomb > igt@gem_userptr_blits@stress-mm > @@ -1154,12 +1153,10 @@ igt@gem_bad_reloc@negative-reloc-bltcopy > igt@gem_bad_reloc@negative-reloc-bsd > igt@gem_bad_reloc@negative-reloc-bsd1 > igt@gem_bad_reloc@negative-reloc-bsd2 > -igt@gem_bad_reloc@negative-reloc-default > igt@gem_bad_reloc@negative-reloc-lut-blt > igt@gem_bad_reloc@negative-reloc-lut-bsd > igt@gem_bad_reloc@negative-reloc-lut-bsd1 > igt@gem_bad_reloc@negative-reloc-lut-bsd2 > -igt@gem_bad_reloc@negative-reloc-lut-default > igt@gem_bad_reloc@negative-reloc-lut-render > igt@gem_bad_reloc@negative-reloc-lut-vebox > igt@gem_bad_reloc@negative-reloc-render > @@ -1203,7 +1200,6 @@ igt@gem_cs_prefetch@blt > igt@gem_cs_prefetch@bsd > igt@gem_cs_prefetch@bsd1 > igt@gem_cs_prefetch@bsd2 > -igt@gem_cs_prefetch@default > igt@gem_cs_prefetch@render > igt@gem_cs_prefetch@vebox > igt@gem_cs_tlb@blt > @@ -1220,7 +1216,6 @@ igt@gem_ctx_bad_exec@blt > igt@gem_ctx_bad_exec@bsd > igt@gem_ctx_bad_exec@bsd1 > igt@gem_ctx_bad_exec@bsd2 > -igt@gem_ctx_bad_exec@default > igt@gem_ctx_bad_exec@render > igt@gem_ctx_bad_exec@vebox > igt@gem_ctx_exec@lrc-lite-restore > @@ -1244,7 +1239,6 @@ igt@gem_ctx_switch@bsd1 > igt@gem_ctx_switch@bsd1-interruptible > igt@gem_ctx_switch@bsd2 > igt@gem_ctx_switch@bsd2-interruptible > -igt@gem_ctx_switch@default-interruptible > igt@gem_ctx_switch@render > igt@gem_ctx_switch@render-interruptible > igt@gem_ctx_switch@vebox > @@ -1322,7 +1316,6 @@ igt@gem_exec_nop@blt > igt@gem_exec_nop@bsd > igt@gem_exec_nop@bsd1 > igt@gem_exec_nop@bsd2 > -igt@gem_exec_nop@default > igt@gem_exec_nop@parallel > igt@gem_exec_nop@render > igt@gem_exec_nop@series > @@ -1340,9 +1333,6 @@ igt@gem_exec_parallel@bsd2 > igt@gem_exec_parallel@bsd2-contexts > igt@gem_exec_parallel@bsd2-fds > igt@gem_exec_parallel@contexts > -igt@gem_exec_parallel@default > -igt@gem_exec_parallel@default-contexts > -igt@gem_exec_parallel@default-fds > igt@gem_exec_parallel@fds > igt@gem_exec_parallel@render > igt@gem_exec_parallel@render-contexts > @@ -1392,7 +1382,6 @@ igt@gem_exec_reloc@active-blt > igt@gem_exec_reloc@active-bsd > igt@gem_exec_reloc@active-bsd1 > igt@gem_exec_reloc@active-bsd2 > -igt@gem_exec_reloc@active-default > igt@gem_exec_reloc@active-render > igt@gem_exec_reloc@active-vebox > igt@gem_exec_schedule@deep-blt > @@ -1431,7 +1420,6 @@ igt@gem_exec_whisper@bsd1-normal > igt@gem_exec_whisper@bsd2-normal > igt@gem_exec_whisper@chain > igt@gem_exec_whisper@contexts > -igt@gem_exec_whisper@default-normal > igt@gem_exec_whisper@fds > igt@gem_exec_whisper@forked > igt@gem_exec_whisper@interruptible > @@ -1682,8 +1670,6 @@ igt@gem_ringfill@bsd2 > igt@gem_ringfill@bsd2-child > igt@gem_ringfill@bsd2-interruptible > igt@gem_ringfill@bsd2-s3 > -igt@gem_ringfill@default-child > -igt@gem_ringfill@default-s3 > igt@gem_ringfill@render > igt@gem_ringfill@render-child > igt@gem_ringfill@render-interruptible > @@ -1728,26 +1714,22 @@ igt@gem_storedw_loop@long-blt > igt@gem_storedw_loop@long-bsd > igt@gem_storedw_loop@long-bsd1 > igt@gem_storedw_loop@long-bsd2 > -igt@gem_storedw_loop@long-default > igt@gem_storedw_loop@long-render > igt@gem_storedw_loop@long-vebox > igt@gem_storedw_loop@short-blt > igt@gem_storedw_loop@short-bsd > igt@gem_storedw_loop@short-bsd1 > igt@gem_storedw_loop@short-bsd2 > -igt@gem_storedw_loop@short-default > igt@gem_storedw_loop@short-render > igt@gem_storedw_loop@short-vebox > igt@gem_sync@blt > igt@gem_sync@bsd > igt@gem_sync@bsd1 > igt@gem_sync@bsd2 > -igt@gem_sync@default > igt@gem_sync@many-blt > igt@gem_sync@many-bsd > igt@gem_sync@many-bsd1 > igt@gem_sync@many-bsd2 > -igt@gem_sync@many-default > igt@gem_sync@many-render > igt@gem_sync@many-vebox > igt@gem_sync@render > @@ -1755,7 +1737,6 @@ igt@gem_sync@store-blt > igt@gem_sync@store-bsd > igt@gem_sync@store-bsd1 > igt@gem_sync@store-bsd2 > -igt@gem_sync@store-default > igt@gem_sync@store-render > igt@gem_sync@store-vebox > igt@gem_sync@vebox > @@ -1808,7 +1789,6 @@ igt@gem_wait@busy-blt > igt@gem_wait@busy-bsd > igt@gem_wait@busy-bsd1 > igt@gem_wait@busy-bsd2 > -igt@gem_wait@busy-default > igt@gem_wait@busy-render > igt@gem_wait@busy-vebox > igt@gem_wait@invalid-buf > @@ -1817,7 +1797,6 @@ igt@gem_wait@wait-blt > igt@gem_wait@wait-bsd > igt@gem_wait@wait-bsd1 > igt@gem_wait@wait-bsd2 > -igt@gem_wait@wait-default > igt@gem_wait@wait-render > igt@gem_wait@wait-vebox > igt@gem_workarounds@reset > -- > 2.9.4 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/intel-gfx
On 22/06/2017 10:54, Daniel Vetter wrote: > On Fri, Jun 16, 2017 at 12:55 PM, Tvrtko Ursulin <tursulin@ursulin.net> wrote: >> From: Tvrtko Ursulin <tvrtko.ursulin@intel.com> >> >> Where there is both default and render for the same test, >> remove the former to save some execution time. > > If they are redundant, why do we even have them? Can we just remove Maybe we can remove the default entry from intel_execution_engines array? And just test that default == render explicitly in a few short tests. > the testcase itself? Accumulating unused tests of questionable use at > best in igt is serious pain, because it means we never can get to a > world where new testcases are auto-added to CI withou some manual > review. And that's the world of pain we live in now and I really want > to get out of it. That means reviewing and removing testcases, not > massaging courated testlists forever, I don't think we have the time > for that among all the other tasks. > > </rant> :-) I am not a fan of the testlist neither, but thought to avoid letting perfect being the enemy of good, and at least do something until the final solution crystallizes. Regards, Tvrtko
On Thu, Jun 22, 2017 at 12:45 PM, Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com> wrote: > > On 22/06/2017 10:54, Daniel Vetter wrote: >> >> On Fri, Jun 16, 2017 at 12:55 PM, Tvrtko Ursulin <tursulin@ursulin.net> >> wrote: >>> >>> From: Tvrtko Ursulin <tvrtko.ursulin@intel.com> >>> >>> Where there is both default and render for the same test, >>> remove the former to save some execution time. >> >> >> If they are redundant, why do we even have them? Can we just remove > > > Maybe we can remove the default entry from intel_execution_engines array? > And just test that default == render explicitly in a few short tests. That has my ack, in case you have the patch ... >> the testcase itself? Accumulating unused tests of questionable use at >> best in igt is serious pain, because it means we never can get to a >> world where new testcases are auto-added to CI withou some manual >> review. And that's the world of pain we live in now and I really want >> to get out of it. That means reviewing and removing testcases, not >> massaging courated testlists forever, I don't think we have the time >> for that among all the other tasks. >> >> </rant> :-) > > > I am not a fan of the testlist neither, but thought to avoid letting perfect > being the enemy of good, and at least do something until the final solution > crystallizes. Yeah not going to block this here, just wanted to chime in with what I think we need to do in the longer-term. I really want CI to run all igt, and run new igt tests by default, to make sure both tests are high-quality (no noise), and the kernel doesn't randomly regress because we didn't run the igts :-/ -Daniel
Quoting Daniel Vetter (2017-06-23 12:14:49) > On Thu, Jun 22, 2017 at 12:45 PM, Tvrtko Ursulin > <tvrtko.ursulin@linux.intel.com> wrote: > > > > On 22/06/2017 10:54, Daniel Vetter wrote: > >> > >> On Fri, Jun 16, 2017 at 12:55 PM, Tvrtko Ursulin <tursulin@ursulin.net> > >> wrote: > >>> > >>> From: Tvrtko Ursulin <tvrtko.ursulin@intel.com> > >>> > >>> Where there is both default and render for the same test, > >>> remove the former to save some execution time. > >> > >> > >> If they are redundant, why do we even have them? Can we just remove > > > > > > Maybe we can remove the default entry from intel_execution_engines array? > > And just test that default == render explicitly in a few short tests. > > That has my ack, in case you have the patch ... No. The ABI does allow for the switch in theory and it is a distinct enum so it does need testing. > >> the testcase itself? Accumulating unused tests of questionable use at > >> best in igt is serious pain, because it means we never can get to a > >> world where new testcases are auto-added to CI withou some manual > >> review. And that's the world of pain we live in now and I really want > >> to get out of it. That means reviewing and removing testcases, not > >> massaging courated testlists forever, I don't think we have the time > >> for that among all the other tasks. > >> > >> </rant> :-) It's the curated lists that are the problem, not the tests. The fact that we don't feel it is worthwhile to continuously test minor variations to catch weird bugs is our problem. -Chris
On Fri, Jun 23, 2017 at 12:21:48PM +0100, Chris Wilson wrote: > Quoting Daniel Vetter (2017-06-23 12:14:49) > > On Thu, Jun 22, 2017 at 12:45 PM, Tvrtko Ursulin > > <tvrtko.ursulin@linux.intel.com> wrote: > > > > > > On 22/06/2017 10:54, Daniel Vetter wrote: > > >> > > >> On Fri, Jun 16, 2017 at 12:55 PM, Tvrtko Ursulin <tursulin@ursulin.net> > > >> wrote: > > >>> > > >>> From: Tvrtko Ursulin <tvrtko.ursulin@intel.com> > > >>> > > >>> Where there is both default and render for the same test, > > >>> remove the former to save some execution time. > > >> > > >> > > >> If they are redundant, why do we even have them? Can we just remove > > > > > > > > > Maybe we can remove the default entry from intel_execution_engines array? > > > And just test that default == render explicitly in a few short tests. > > > > That has my ack, in case you have the patch ... > > No. The ABI does allow for the switch in theory and it is a distinct > enum so it does need testing. One testcase to make sure the default engine is the render engine is I think ok. Testing all the combinatorics is over the top. > > >> the testcase itself? Accumulating unused tests of questionable use at > > >> best in igt is serious pain, because it means we never can get to a > > >> world where new testcases are auto-added to CI withou some manual > > >> review. And that's the world of pain we live in now and I really want > > >> to get out of it. That means reviewing and removing testcases, not > > >> massaging courated testlists forever, I don't think we have the time > > >> for that among all the other tasks. > > >> > > >> </rant> :-) > > It's the curated lists that are the problem, not the tests. The fact > that we don't feel it is worthwhile to continuously test minor > variations to catch weird bugs is our problem. So it's an different topic, but I disagree. gem_* testcases are massively over the top with how much machine time they blow through, to the point where gem takes 90%+ of all machine time. The result of that is that we simply don't run anything at all, so gem is hurting kms_ and other test coverage. We really need to get this down to something reasonable, and I think reasonable = completes within 1 work-day on a fast machine. Stress-tests are ok to keep, and run on an ad-hoc basis, but we can't have them in the default list. Atm gem_concurrent_blt alone blows through 24 days of machine time, and that's 24 days of not testing some other patch series. We have a too high patch count to afford that, so if you insist on keeping all these gem tests in the default set then we'll be able to merge about 1 patch series per week. That just doesn't work. Even excluding gem_concurrent_blt gem_* tests take a few times more than everything else combined. There's really imo just 2 options: a) drastically reduce the time we spend running gem_* tests. b) don't run gem_* tests, and don't merge gem_* patches. Atm the result is that we can't even run the other igt tests, which means everyone (not just the gem team) loses. -Daniel
diff --git a/tests/intel-ci/extended.testlist b/tests/intel-ci/extended.testlist index 24ec295faf66..e0926ff09bcd 100644 --- a/tests/intel-ci/extended.testlist +++ b/tests/intel-ci/extended.testlist @@ -76,7 +76,6 @@ igt@gem_ringfill@blt-bomb igt@gem_ringfill@bsd-bomb igt@gem_ringfill@bsd1-bomb igt@gem_ringfill@bsd2-bomb -igt@gem_ringfill@default-bomb igt@gem_ringfill@render-bomb igt@gem_ringfill@vebox-bomb igt@gem_userptr_blits@stress-mm @@ -1154,12 +1153,10 @@ igt@gem_bad_reloc@negative-reloc-bltcopy igt@gem_bad_reloc@negative-reloc-bsd igt@gem_bad_reloc@negative-reloc-bsd1 igt@gem_bad_reloc@negative-reloc-bsd2 -igt@gem_bad_reloc@negative-reloc-default igt@gem_bad_reloc@negative-reloc-lut-blt igt@gem_bad_reloc@negative-reloc-lut-bsd igt@gem_bad_reloc@negative-reloc-lut-bsd1 igt@gem_bad_reloc@negative-reloc-lut-bsd2 -igt@gem_bad_reloc@negative-reloc-lut-default igt@gem_bad_reloc@negative-reloc-lut-render igt@gem_bad_reloc@negative-reloc-lut-vebox igt@gem_bad_reloc@negative-reloc-render @@ -1203,7 +1200,6 @@ igt@gem_cs_prefetch@blt igt@gem_cs_prefetch@bsd igt@gem_cs_prefetch@bsd1 igt@gem_cs_prefetch@bsd2 -igt@gem_cs_prefetch@default igt@gem_cs_prefetch@render igt@gem_cs_prefetch@vebox igt@gem_cs_tlb@blt @@ -1220,7 +1216,6 @@ igt@gem_ctx_bad_exec@blt igt@gem_ctx_bad_exec@bsd igt@gem_ctx_bad_exec@bsd1 igt@gem_ctx_bad_exec@bsd2 -igt@gem_ctx_bad_exec@default igt@gem_ctx_bad_exec@render igt@gem_ctx_bad_exec@vebox igt@gem_ctx_exec@lrc-lite-restore @@ -1244,7 +1239,6 @@ igt@gem_ctx_switch@bsd1 igt@gem_ctx_switch@bsd1-interruptible igt@gem_ctx_switch@bsd2 igt@gem_ctx_switch@bsd2-interruptible -igt@gem_ctx_switch@default-interruptible igt@gem_ctx_switch@render igt@gem_ctx_switch@render-interruptible igt@gem_ctx_switch@vebox @@ -1322,7 +1316,6 @@ igt@gem_exec_nop@blt igt@gem_exec_nop@bsd igt@gem_exec_nop@bsd1 igt@gem_exec_nop@bsd2 -igt@gem_exec_nop@default igt@gem_exec_nop@parallel igt@gem_exec_nop@render igt@gem_exec_nop@series @@ -1340,9 +1333,6 @@ igt@gem_exec_parallel@bsd2 igt@gem_exec_parallel@bsd2-contexts igt@gem_exec_parallel@bsd2-fds igt@gem_exec_parallel@contexts -igt@gem_exec_parallel@default -igt@gem_exec_parallel@default-contexts -igt@gem_exec_parallel@default-fds igt@gem_exec_parallel@fds igt@gem_exec_parallel@render igt@gem_exec_parallel@render-contexts @@ -1392,7 +1382,6 @@ igt@gem_exec_reloc@active-blt igt@gem_exec_reloc@active-bsd igt@gem_exec_reloc@active-bsd1 igt@gem_exec_reloc@active-bsd2 -igt@gem_exec_reloc@active-default igt@gem_exec_reloc@active-render igt@gem_exec_reloc@active-vebox igt@gem_exec_schedule@deep-blt @@ -1431,7 +1420,6 @@ igt@gem_exec_whisper@bsd1-normal igt@gem_exec_whisper@bsd2-normal igt@gem_exec_whisper@chain igt@gem_exec_whisper@contexts -igt@gem_exec_whisper@default-normal igt@gem_exec_whisper@fds igt@gem_exec_whisper@forked igt@gem_exec_whisper@interruptible @@ -1682,8 +1670,6 @@ igt@gem_ringfill@bsd2 igt@gem_ringfill@bsd2-child igt@gem_ringfill@bsd2-interruptible igt@gem_ringfill@bsd2-s3 -igt@gem_ringfill@default-child -igt@gem_ringfill@default-s3 igt@gem_ringfill@render igt@gem_ringfill@render-child igt@gem_ringfill@render-interruptible @@ -1728,26 +1714,22 @@ igt@gem_storedw_loop@long-blt igt@gem_storedw_loop@long-bsd igt@gem_storedw_loop@long-bsd1 igt@gem_storedw_loop@long-bsd2 -igt@gem_storedw_loop@long-default igt@gem_storedw_loop@long-render igt@gem_storedw_loop@long-vebox igt@gem_storedw_loop@short-blt igt@gem_storedw_loop@short-bsd igt@gem_storedw_loop@short-bsd1 igt@gem_storedw_loop@short-bsd2 -igt@gem_storedw_loop@short-default igt@gem_storedw_loop@short-render igt@gem_storedw_loop@short-vebox igt@gem_sync@blt igt@gem_sync@bsd igt@gem_sync@bsd1 igt@gem_sync@bsd2 -igt@gem_sync@default igt@gem_sync@many-blt igt@gem_sync@many-bsd igt@gem_sync@many-bsd1 igt@gem_sync@many-bsd2 -igt@gem_sync@many-default igt@gem_sync@many-render igt@gem_sync@many-vebox igt@gem_sync@render @@ -1755,7 +1737,6 @@ igt@gem_sync@store-blt igt@gem_sync@store-bsd igt@gem_sync@store-bsd1 igt@gem_sync@store-bsd2 -igt@gem_sync@store-default igt@gem_sync@store-render igt@gem_sync@store-vebox igt@gem_sync@vebox @@ -1808,7 +1789,6 @@ igt@gem_wait@busy-blt igt@gem_wait@busy-bsd igt@gem_wait@busy-bsd1 igt@gem_wait@busy-bsd2 -igt@gem_wait@busy-default igt@gem_wait@busy-render igt@gem_wait@busy-vebox igt@gem_wait@invalid-buf @@ -1817,7 +1797,6 @@ igt@gem_wait@wait-blt igt@gem_wait@wait-bsd igt@gem_wait@wait-bsd1 igt@gem_wait@wait-bsd2 -igt@gem_wait@wait-default igt@gem_wait@wait-render igt@gem_wait@wait-vebox igt@gem_workarounds@reset