* [RFC i-g-t 0/4] Redundant test pruning @ 2017-06-23 11:31 Tvrtko Ursulin 2017-06-23 11:31 ` [RFC i-g-t 1/4] igt: Remove default from the engine list Tvrtko Ursulin ` (4 more replies) 0 siblings, 5 replies; 18+ messages in thread From: Tvrtko Ursulin @ 2017-06-23 11:31 UTC (permalink / raw) To: Intel-gfx; +Cc: Daniel Vetter From: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Small series which saves test execution time by removing the redundant tests. Tvrtko Ursulin (4): igt: Remove default from the engine list gem_exec_basic: Exercise the default engine selection gem_sync: Add all and store_all subtests extended.testlist: Remove some test-subtest combinations lib/igt_gt.c | 1 - tests/gem_exec_basic.c | 9 ++++ tests/gem_sync.c | 5 +++ tests/intel-ci/extended.testlist | 75 ++----------------------------- tests/intel-ci/fast-feedback.testlist | 83 +++++++++++++++++------------------ 5 files changed, 59 insertions(+), 114 deletions(-) -- 2.9.4 _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 18+ messages in thread
* [RFC i-g-t 1/4] igt: Remove default from the engine list 2017-06-23 11:31 [RFC i-g-t 0/4] Redundant test pruning Tvrtko Ursulin @ 2017-06-23 11:31 ` Tvrtko Ursulin 2017-06-23 14:17 ` Szwichtenberg, Radoslaw 2017-06-23 11:31 ` [RFC i-g-t 2/4] gem_exec_basic: Exercise the default engine selection Tvrtko Ursulin ` (3 subsequent siblings) 4 siblings, 1 reply; 18+ messages in thread From: Tvrtko Ursulin @ 2017-06-23 11:31 UTC (permalink / raw) To: Intel-gfx; +Cc: Daniel Vetter From: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Default is not an engine but an ABI alias for RCS. Remove it from the engine list to eliminate redundant subtests and test passes. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> --- lib/igt_gt.c | 1 - lib/igt_gt.h | 5 ++ tests/gem_busy.c | 4 +- tests/gem_cs_tlb.c | 2 +- tests/gem_ctx_switch.c | 4 +- tests/gem_exec_fence.c | 12 ++--- tests/gem_exec_flush.c | 10 ++-- tests/gem_ringfill.c | 2 +- tests/intel-ci/extended.testlist | 21 --------- tests/intel-ci/fast-feedback.testlist | 86 +++++++++++++++++------------------ tests/kms_busy.c | 4 +- tests/prime_busy.c | 4 +- tests/prime_vgem.c | 10 ++-- 13 files changed, 72 insertions(+), 93 deletions(-) diff --git a/lib/igt_gt.c b/lib/igt_gt.c index 6f7daa5ef982..05fe2f45e254 100644 --- a/lib/igt_gt.c +++ b/lib/igt_gt.c @@ -553,7 +553,6 @@ unsigned intel_detect_and_clear_missed_interrupts(int fd) } const struct intel_execution_engine intel_execution_engines[] = { - { "default", NULL, 0, 0 }, { "render", "rcs0", I915_EXEC_RENDER, 0 }, { "bsd", "vcs0", I915_EXEC_BSD, 0 }, { "bsd1", "vcs0", I915_EXEC_BSD, 1<<13 /*I915_EXEC_BSD_RING1*/ }, diff --git a/lib/igt_gt.h b/lib/igt_gt.h index 2579cbd37be7..d82d352a2d36 100644 --- a/lib/igt_gt.h +++ b/lib/igt_gt.h @@ -80,4 +80,9 @@ extern const struct intel_execution_engine { bool gem_can_store_dword(int fd, unsigned int engine); +static inline bool igt_is_basic(const struct intel_execution_engine *e) +{ + return e->exec_id == 1; +} + #endif /* IGT_GT_H */ diff --git a/tests/gem_busy.c b/tests/gem_busy.c index 8702dd7efa6f..72cffd218dfd 100644 --- a/tests/gem_busy.c +++ b/tests/gem_busy.c @@ -521,7 +521,7 @@ igt_main for (e = intel_execution_engines; e->name; e++) { igt_subtest_group { igt_subtest_f("%sbusy-%s", - e->exec_id == 0 ? "basic-" : "", + igt_is_basic(e) ? "basic-" : "", e->name) { igt_require(gem_has_ring(fd, e->exec_id | e->flags)); gem_quiescent_gpu(fd); @@ -599,7 +599,7 @@ igt_main for (e = intel_execution_engines; e->name; e++) { igt_subtest_f("%shang-%s", - e->exec_id == 0 ? "basic-" : "", + igt_is_basic(e) ? "basic-" : "", e->name) { igt_require(gem_has_ring(fd, e->exec_id | e->flags)); gem_quiescent_gpu(fd); diff --git a/tests/gem_cs_tlb.c b/tests/gem_cs_tlb.c index 51e1c4e19930..98f857dad785 100644 --- a/tests/gem_cs_tlb.c +++ b/tests/gem_cs_tlb.c @@ -151,7 +151,7 @@ igt_main } for (e = intel_execution_engines; e->name; e++) - igt_subtest_f("%s%s", e->exec_id ? "" : "basic-", e->name) + igt_subtest_f("%s%s", !igt_is_basic(e) ? "" : "basic-", e->name) run_on_ring(fd, e->exec_id | e->flags, e->name); igt_fixture diff --git a/tests/gem_ctx_switch.c b/tests/gem_ctx_switch.c index 80ebce5d6707..046e065b33e2 100644 --- a/tests/gem_ctx_switch.c +++ b/tests/gem_ctx_switch.c @@ -163,9 +163,9 @@ igt_main } for (e = intel_execution_engines; e->name; e++) { - igt_subtest_f("%s%s", e->exec_id == 0 ? "basic-" : "", e->name) + igt_subtest_f("%s%s", igt_is_basic(e) ? "basic-" : "", e->name) single(fd, light, e, 0, 1, 5); - igt_subtest_f("%s%s-heavy", e->exec_id == 0 ? "basic-" : "", e->name) + igt_subtest_f("%s%s-heavy", igt_is_basic(e) ? "basic-" : "", e->name) single(fd, heavy, e, 0, 1, 5); igt_subtest_f("%s-interruptible", e->name) single(fd, light, e, INTERRUPTIBLE, 1, 150); diff --git a/tests/gem_exec_fence.c b/tests/gem_exec_fence.c index 5230e693ba16..2baf1f05d74a 100644 --- a/tests/gem_exec_fence.c +++ b/tests/gem_exec_fence.c @@ -558,16 +558,16 @@ igt_main } igt_subtest_f("%sbusy-%s", - e->exec_id == 0 ? "basic-" : "", - e->name) + igt_is_basic(e) ? "basic-" : "", + e->name) test_fence_busy(i915, e->exec_id | e->flags, 0); igt_subtest_f("%swait-%s", - e->exec_id == 0 ? "basic-" : "", - e->name) + igt_is_basic(e) ? "basic-" : "", + e->name) test_fence_busy(i915, e->exec_id | e->flags, WAIT); igt_subtest_f("%sawait-%s", - e->exec_id == 0 ? "basic-" : "", - e->name) + igt_is_basic(e) ? "basic-" : "", + e->name) test_fence_await(i915, e->exec_id | e->flags, 0); igt_subtest_f("nb-await-%s", e->name) test_fence_await(i915, e->exec_id | e->flags, NONBLOCK); diff --git a/tests/gem_exec_flush.c b/tests/gem_exec_flush.c index 803d45b66b29..a4d02a5c2e64 100644 --- a/tests/gem_exec_flush.c +++ b/tests/gem_exec_flush.c @@ -607,17 +607,17 @@ igt_main for (const struct batch *b = batches; b->name; b++) { igt_subtest_f("%sbatch-%s-%s-uc", - b == batches && e->exec_id == 0 ? "basic-" : "", + b == batches && igt_is_basic(e) ? "basic-" : "", b->name, e->name) batch(fd, ring, ncpus, timeout, b->mode, 0); igt_subtest_f("%sbatch-%s-%s-wb", - b == batches && e->exec_id == 0 ? "basic-" : "", + b == batches && igt_is_basic(e) ? "basic-" : "", b->name, e->name) batch(fd, ring, ncpus, timeout, b->mode, COHERENT); igt_subtest_f("%sbatch-%s-%s-cmd", - b == batches && e->exec_id == 0 ? "basic-" : "", + b == batches && igt_is_basic(e) ? "basic-" : "", b->name, e->name) batch(fd, ring, ncpus, timeout, b->mode, @@ -626,7 +626,7 @@ igt_main for (const struct mode *m = modes; m->name; m++) { igt_subtest_f("%suc-%s-%s", - (m->flags & BASIC && e->exec_id == 0) ? "basic-" : "", + (m->flags & BASIC && igt_is_basic(e)) ? "basic-" : "", m->name, e->name) run(fd, ring, ncpus, timeout, @@ -639,7 +639,7 @@ igt_main UNCACHED | m->flags | INTERRUPTIBLE); igt_subtest_f("%swb-%s-%s", - e->exec_id == 0 ? "basic-" : "", + igt_is_basic(e) ? "basic-" : "", m->name, e->name) run(fd, ring, ncpus, timeout, diff --git a/tests/gem_ringfill.c b/tests/gem_ringfill.c index b52996a433fd..be2e35f2a0a7 100644 --- a/tests/gem_ringfill.c +++ b/tests/gem_ringfill.c @@ -368,7 +368,7 @@ igt_main for (e = intel_execution_engines; e->name; e++) { igt_subtest_f("%s%s%s", - m->basic && !e->exec_id ? "basic-" : "", + m->basic && igt_is_basic(e) ? "basic-" : "", e->name, m->suffix) { igt_skip_on(m->flags & NEWFD && master); diff --git a/tests/intel-ci/extended.testlist b/tests/intel-ci/extended.testlist index f96043bc88a9..c4daf792dc95 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 @@ -1153,12 +1152,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 @@ -1202,7 +1199,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 @@ -1219,7 +1215,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 @@ -1243,7 +1238,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 @@ -1321,7 +1315,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 @@ -1339,9 +1332,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 @@ -1391,7 +1381,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 @@ -1430,7 +1419,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 @@ -1686,8 +1674,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 @@ -1732,26 +1718,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 @@ -1759,7 +1741,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 @@ -1812,7 +1793,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 @@ -1821,7 +1801,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 diff --git a/tests/intel-ci/fast-feedback.testlist b/tests/intel-ci/fast-feedback.testlist index abe928d973e9..7d4f65ec2248 100644 --- a/tests/intel-ci/fast-feedback.testlist +++ b/tests/intel-ci/fast-feedback.testlist @@ -8,62 +8,59 @@ igt@drv_hangman@error-state-basic igt@gem_basic@bad-close igt@gem_basic@create-close igt@gem_basic@create-fd-close -igt@gem_busy@basic-busy-default -igt@gem_busy@basic-hang-default +igt@gem_busy@basic-busy-render +igt@gem_busy@basic-hang-render igt@gem_close_race@basic-process igt@gem_close_race@basic-threads igt@gem_cpu_reloc@basic -igt@gem_cs_tlb@basic-default +igt@gem_cs_tlb@basic-render igt@gem_ctx_basic igt@gem_ctx_create@basic igt@gem_ctx_create@basic-files igt@gem_ctx_exec@basic igt@gem_ctx_param@basic igt@gem_ctx_param@basic-default -igt@gem_ctx_switch@basic-default -igt@gem_ctx_switch@basic-default-heavy +igt@gem_ctx_switch@basic-render +igt@gem_ctx_switch@basic-render-heavy igt@gem_exec_basic@basic-blt igt@gem_exec_basic@basic-bsd igt@gem_exec_basic@basic-bsd1 igt@gem_exec_basic@basic-bsd2 -igt@gem_exec_basic@basic-default igt@gem_exec_basic@basic-render igt@gem_exec_basic@basic-vebox igt@gem_exec_basic@gtt-blt igt@gem_exec_basic@gtt-bsd igt@gem_exec_basic@gtt-bsd1 igt@gem_exec_basic@gtt-bsd2 -igt@gem_exec_basic@gtt-default igt@gem_exec_basic@gtt-render igt@gem_exec_basic@gtt-vebox igt@gem_exec_basic@readonly-blt igt@gem_exec_basic@readonly-bsd igt@gem_exec_basic@readonly-bsd1 igt@gem_exec_basic@readonly-bsd2 -igt@gem_exec_basic@readonly-default igt@gem_exec_basic@readonly-render igt@gem_exec_basic@readonly-vebox igt@gem_exec_create@basic -igt@gem_exec_fence@basic-busy-default -igt@gem_exec_fence@basic-wait-default -igt@gem_exec_fence@basic-await-default -igt@gem_exec_fence@await-hang-default -igt@gem_exec_fence@nb-await-default -igt@gem_exec_flush@basic-batch-kernel-default-cmd -igt@gem_exec_flush@basic-batch-kernel-default-uc -igt@gem_exec_flush@basic-batch-kernel-default-wb -igt@gem_exec_flush@basic-uc-pro-default -igt@gem_exec_flush@basic-uc-prw-default -igt@gem_exec_flush@basic-uc-ro-default -igt@gem_exec_flush@basic-uc-rw-default -igt@gem_exec_flush@basic-uc-set-default -igt@gem_exec_flush@basic-wb-pro-default -igt@gem_exec_flush@basic-wb-prw-default -igt@gem_exec_flush@basic-wb-ro-before-default -igt@gem_exec_flush@basic-wb-ro-default -igt@gem_exec_flush@basic-wb-rw-before-default -igt@gem_exec_flush@basic-wb-rw-default -igt@gem_exec_flush@basic-wb-set-default +igt@gem_exec_fence@basic-busy-render +igt@gem_exec_fence@basic-wait-render +igt@gem_exec_fence@basic-await-render +igt@gem_exec_fence@await-hang-render +igt@gem_exec_fence@nb-await-render +igt@gem_exec_flush@basic-batch-kernel-render-cmd +igt@gem_exec_flush@basic-batch-kernel-render-uc +igt@gem_exec_flush@basic-batch-kernel-render-wb +igt@gem_exec_flush@basic-uc-pro-render +igt@gem_exec_flush@basic-uc-prw-render +igt@gem_exec_flush@basic-uc-ro-render +igt@gem_exec_flush@basic-uc-rw-render +igt@gem_exec_flush@basic-uc-set-render +igt@gem_exec_flush@basic-wb-pro-render +igt@gem_exec_flush@basic-wb-prw-render +igt@gem_exec_flush@basic-wb-ro-before-render +igt@gem_exec_flush@basic-wb-ro-render +igt@gem_exec_flush@basic-wb-rw-before-render +igt@gem_exec_flush@basic-wb-rw-render +igt@gem_exec_flush@basic-wb-set-render igt@gem_exec_gttfill@basic igt@gem_exec_nop@basic-parallel igt@gem_exec_nop@basic-series @@ -103,7 +100,6 @@ igt@gem_exec_store@basic-blt igt@gem_exec_store@basic-bsd igt@gem_exec_store@basic-bsd1 igt@gem_exec_store@basic-bsd2 -igt@gem_exec_store@basic-default igt@gem_exec_store@basic-render igt@gem_exec_store@basic-vebox igt@gem_exec_suspend@basic @@ -141,11 +137,11 @@ igt@gem_pread@basic igt@gem_pwrite@basic igt@gem_render_linear_blits@basic igt@gem_render_tiled_blits@basic -igt@gem_ringfill@basic-default -igt@gem_ringfill@basic-default-interruptible -igt@gem_ringfill@basic-default-forked -igt@gem_ringfill@basic-default-fd -igt@gem_ringfill@basic-default-hang +igt@gem_ringfill@basic-render +igt@gem_ringfill@basic-render-interruptible +igt@gem_ringfill@basic-render-forked +igt@gem_ringfill@basic-render-fd +igt@gem_ringfill@basic-render-hang igt@gem_sync@basic-all igt@gem_sync@basic-each igt@gem_sync@basic-many-each @@ -195,9 +191,9 @@ igt@kms_addfb_basic@unused-handle igt@kms_addfb_basic@unused-modifier igt@kms_addfb_basic@unused-offsets igt@kms_addfb_basic@unused-pitches -igt@kms_busy@basic-flip-default-a -igt@kms_busy@basic-flip-default-b -igt@kms_busy@basic-flip-default-c +igt@kms_busy@basic-flip-render-a +igt@kms_busy@basic-flip-render-b +igt@kms_busy@basic-flip-render-c igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy igt@kms_cursor_legacy@basic-flip-after-cursor-atomic @@ -243,25 +239,25 @@ igt@pm_backlight@basic-brightness igt@pm_rpm@basic-pci-d3-state igt@pm_rpm@basic-rte igt@pm_rps@basic-api -igt@prime_busy@basic-after-default -igt@prime_busy@basic-before-default -igt@prime_busy@basic-wait-after-default -igt@prime_busy@basic-wait-before-default +igt@prime_busy@basic-after-render +igt@prime_busy@basic-before-render +igt@prime_busy@basic-wait-after-render +igt@prime_busy@basic-wait-before-render igt@prime_self_import@basic-llseek-bad igt@prime_self_import@basic-llseek-size igt@prime_self_import@basic-with_fd_dup igt@prime_self_import@basic-with_one_bo igt@prime_self_import@basic-with_one_bo_two_files igt@prime_self_import@basic-with_two_bos -igt@prime_vgem@basic-busy-default +igt@prime_vgem@basic-busy-render igt@prime_vgem@basic-fence-flip igt@prime_vgem@basic-fence-mmap igt@prime_vgem@basic-fence-read -igt@prime_vgem@basic-fence-wait-default +igt@prime_vgem@basic-fence-wait-render igt@prime_vgem@basic-gtt igt@prime_vgem@basic-read -igt@prime_vgem@basic-sync-default -igt@prime_vgem@basic-wait-default +igt@prime_vgem@basic-sync-render +igt@prime_vgem@basic-wait-render igt@prime_vgem@basic-write igt@vgem_basic@setversion igt@vgem_basic@create diff --git a/tests/kms_busy.c b/tests/kms_busy.c index af7ed992275f..977516461470 100644 --- a/tests/kms_busy.c +++ b/tests/kms_busy.c @@ -341,7 +341,7 @@ igt_main for (e = intel_execution_engines; e->name; e++) { igt_subtest_f("%sflip-%s-%s", - e->exec_id == 0 ? "basic-" : "", + igt_is_basic(e) ? "basic-" : "", e->name, kmstest_pipe_name(n)) { igt_require(gem_has_ring(display.drm_fd, e->exec_id | e->flags)); @@ -349,7 +349,7 @@ igt_main test_flip(&display, e->exec_id | e->flags, n, false); } igt_subtest_f("%smodeset-%s-%s", - e->exec_id == 0 ? "basic-" : "", + igt_is_basic(e) ? "basic-" : "", e->name, kmstest_pipe_name(n)) { igt_require(gem_has_ring(display.drm_fd, e->exec_id | e->flags)); diff --git a/tests/prime_busy.c b/tests/prime_busy.c index cbc91545d8d9..a4e42a7558e0 100644 --- a/tests/prime_busy.c +++ b/tests/prime_busy.c @@ -186,7 +186,7 @@ static void run_busy(int fd, } igt_subtest_f("%s%s-%s", - !e->exec_id && !(flags & HANG) ? "basic-" : "", + igt_is_basic(e) && !(flags & HANG) ? "basic-" : "", name, e->name) busy(fd, e->exec_id | e->flags, flags); @@ -211,7 +211,7 @@ static void run_poll(int fd, } igt_subtest_f("%swait-%s-%s", - !e->exec_id && !(flags & HANG) ? "basic-" : "", + igt_is_basic(e) && !(flags & HANG) ? "basic-" : "", name, e->name) busy(fd, e->exec_id | e->flags, flags | POLL); diff --git a/tests/prime_vgem.c b/tests/prime_vgem.c index 95557ef917fe..6cc637a32d12 100644 --- a/tests/prime_vgem.c +++ b/tests/prime_vgem.c @@ -755,7 +755,7 @@ igt_main for (e = intel_execution_engines; e->name; e++) { igt_subtest_f("%ssync-%s", - e->exec_id == 0 ? "basic-" : "", + igt_is_basic(e) ? "basic-" : "", e->name) { gem_require_ring(i915, e->exec_id | e->flags); igt_require(gem_can_store_dword(i915, e->exec_id) | e->flags); @@ -767,7 +767,7 @@ igt_main for (e = intel_execution_engines; e->name; e++) { igt_subtest_f("%sbusy-%s", - e->exec_id == 0 ? "basic-" : "", + igt_is_basic(e) ? "basic-" : "", e->name) { gem_require_ring(i915, e->exec_id | e->flags); igt_require(gem_can_store_dword(i915, e->exec_id) | e->flags); @@ -779,7 +779,7 @@ igt_main for (e = intel_execution_engines; e->name; e++) { igt_subtest_f("%swait-%s", - e->exec_id == 0 ? "basic-" : "", + igt_is_basic(e) ? "basic-" : "", e->name) { gem_require_ring(i915, e->exec_id | e->flags); igt_require(gem_can_store_dword(i915, e->exec_id) | e->flags); @@ -802,8 +802,8 @@ igt_main for (e = intel_execution_engines; e->name; e++) { igt_subtest_f("%sfence-wait-%s", - e->exec_id == 0 ? "basic-" : "", - e->name) { + igt_is_basic(e) ? "basic-" : "", + e->name) { gem_require_ring(i915, e->exec_id | e->flags); igt_require(gem_can_store_dword(i915, e->exec_id) | e->flags); -- 2.9.4 _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply related [flat|nested] 18+ messages in thread
* Re: [RFC i-g-t 1/4] igt: Remove default from the engine list 2017-06-23 11:31 ` [RFC i-g-t 1/4] igt: Remove default from the engine list Tvrtko Ursulin @ 2017-06-23 14:17 ` Szwichtenberg, Radoslaw 2017-06-23 14:35 ` Tvrtko Ursulin 0 siblings, 1 reply; 18+ messages in thread From: Szwichtenberg, Radoslaw @ 2017-06-23 14:17 UTC (permalink / raw) To: Intel-gfx@lists.freedesktop.org, tursulin@ursulin.net Cc: daniel.vetter@ffwll.ch On Fri, 2017-06-23 at 12:31 +0100, Tvrtko Ursulin wrote: > From: Tvrtko Ursulin <tvrtko.ursulin@intel.com> > > Default is not an engine but an ABI alias for RCS. Remove it > from the engine list to eliminate redundant subtests and test > passes. Does it mean that we will have an ABI part that we don't test? -Radek _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [RFC i-g-t 1/4] igt: Remove default from the engine list 2017-06-23 14:17 ` Szwichtenberg, Radoslaw @ 2017-06-23 14:35 ` Tvrtko Ursulin 2017-06-26 9:15 ` Szwichtenberg, Radoslaw 0 siblings, 1 reply; 18+ messages in thread From: Tvrtko Ursulin @ 2017-06-23 14:35 UTC (permalink / raw) To: Szwichtenberg, Radoslaw, Intel-gfx@lists.freedesktop.org, tursulin@ursulin.net Cc: daniel.vetter@ffwll.ch On 23/06/2017 15:17, Szwichtenberg, Radoslaw wrote: > On Fri, 2017-06-23 at 12:31 +0100, Tvrtko Ursulin wrote: >> From: Tvrtko Ursulin <tvrtko.ursulin@intel.com> >> >> Default is not an engine but an ABI alias for RCS. Remove it >> from the engine list to eliminate redundant subtests and test >> passes. > Does it mean that we will have an ABI part that we don't test? Second patch adds the ABI testing to gem_exec_basic. Plus there is and odd test here and there which explicitly sends batches to I915_EXEC_DEFAULT. But to me just basic verification that the default works sounds enough. Regards, Tvrtko _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [RFC i-g-t 1/4] igt: Remove default from the engine list 2017-06-23 14:35 ` Tvrtko Ursulin @ 2017-06-26 9:15 ` Szwichtenberg, Radoslaw 2017-07-06 13:33 ` [PATCH i-g-t v2 " Tvrtko Ursulin 0 siblings, 1 reply; 18+ messages in thread From: Szwichtenberg, Radoslaw @ 2017-06-26 9:15 UTC (permalink / raw) To: Intel-gfx@lists.freedesktop.org, tursulin@ursulin.net, tvrtko.ursulin@linux.intel.com Cc: daniel.vetter@ffwll.ch On Fri, 2017-06-23 at 15:35 +0100, Tvrtko Ursulin wrote: > On 23/06/2017 15:17, Szwichtenberg, Radoslaw wrote: > > On Fri, 2017-06-23 at 12:31 +0100, Tvrtko Ursulin wrote: > > > From: Tvrtko Ursulin <tvrtko.ursulin@intel.com> > > > > > > Default is not an engine but an ABI alias for RCS. Remove it > > > from the engine list to eliminate redundant subtests and test > > > passes. > > > > Does it mean that we will have an ABI part that we don't test? > > Second patch adds the ABI testing to gem_exec_basic. Plus there is and > odd test here and there which explicitly sends batches to > I915_EXEC_DEFAULT. But to me just basic verification that the default > works sounds enough. Looks good to me. -Radek > Regards, > > Tvrtko _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH i-g-t v2 1/4] igt: Remove default from the engine list 2017-06-26 9:15 ` Szwichtenberg, Radoslaw @ 2017-07-06 13:33 ` Tvrtko Ursulin 2017-07-06 13:35 ` Chris Wilson 0 siblings, 1 reply; 18+ messages in thread From: Tvrtko Ursulin @ 2017-07-06 13:33 UTC (permalink / raw) To: Intel-gfx From: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Default is not an engine but an ABI alias for RCS. Remove it from the engine list to eliminate redundant subtests and test passes. v2: Fix basic test timeout. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Acked-by: Daniel Vetter <daniel.vetter@intel.com> --- lib/igt_gt.c | 1 - lib/igt_gt.h | 5 ++ tests/gem_busy.c | 4 +- tests/gem_cs_tlb.c | 2 +- tests/gem_ctx_switch.c | 4 +- tests/gem_exec_fence.c | 12 ++--- tests/gem_exec_flush.c | 12 ++--- tests/gem_ringfill.c | 2 +- tests/intel-ci/extended.testlist | 21 --------- tests/intel-ci/fast-feedback.testlist | 86 +++++++++++++++++------------------ tests/kms_busy.c | 4 +- tests/prime_busy.c | 4 +- tests/prime_vgem.c | 10 ++-- 13 files changed, 73 insertions(+), 94 deletions(-) diff --git a/lib/igt_gt.c b/lib/igt_gt.c index 6f7daa5ef982..05fe2f45e254 100644 --- a/lib/igt_gt.c +++ b/lib/igt_gt.c @@ -553,7 +553,6 @@ unsigned intel_detect_and_clear_missed_interrupts(int fd) } const struct intel_execution_engine intel_execution_engines[] = { - { "default", NULL, 0, 0 }, { "render", "rcs0", I915_EXEC_RENDER, 0 }, { "bsd", "vcs0", I915_EXEC_BSD, 0 }, { "bsd1", "vcs0", I915_EXEC_BSD, 1<<13 /*I915_EXEC_BSD_RING1*/ }, diff --git a/lib/igt_gt.h b/lib/igt_gt.h index 2579cbd37be7..d82d352a2d36 100644 --- a/lib/igt_gt.h +++ b/lib/igt_gt.h @@ -80,4 +80,9 @@ extern const struct intel_execution_engine { bool gem_can_store_dword(int fd, unsigned int engine); +static inline bool igt_is_basic(const struct intel_execution_engine *e) +{ + return e->exec_id == 1; +} + #endif /* IGT_GT_H */ diff --git a/tests/gem_busy.c b/tests/gem_busy.c index 8702dd7efa6f..72cffd218dfd 100644 --- a/tests/gem_busy.c +++ b/tests/gem_busy.c @@ -521,7 +521,7 @@ igt_main for (e = intel_execution_engines; e->name; e++) { igt_subtest_group { igt_subtest_f("%sbusy-%s", - e->exec_id == 0 ? "basic-" : "", + igt_is_basic(e) ? "basic-" : "", e->name) { igt_require(gem_has_ring(fd, e->exec_id | e->flags)); gem_quiescent_gpu(fd); @@ -599,7 +599,7 @@ igt_main for (e = intel_execution_engines; e->name; e++) { igt_subtest_f("%shang-%s", - e->exec_id == 0 ? "basic-" : "", + igt_is_basic(e) ? "basic-" : "", e->name) { igt_require(gem_has_ring(fd, e->exec_id | e->flags)); gem_quiescent_gpu(fd); diff --git a/tests/gem_cs_tlb.c b/tests/gem_cs_tlb.c index 51e1c4e19930..98f857dad785 100644 --- a/tests/gem_cs_tlb.c +++ b/tests/gem_cs_tlb.c @@ -151,7 +151,7 @@ igt_main } for (e = intel_execution_engines; e->name; e++) - igt_subtest_f("%s%s", e->exec_id ? "" : "basic-", e->name) + igt_subtest_f("%s%s", !igt_is_basic(e) ? "" : "basic-", e->name) run_on_ring(fd, e->exec_id | e->flags, e->name); igt_fixture diff --git a/tests/gem_ctx_switch.c b/tests/gem_ctx_switch.c index b6ea71cfe87b..c559e2cd7330 100644 --- a/tests/gem_ctx_switch.c +++ b/tests/gem_ctx_switch.c @@ -163,9 +163,9 @@ igt_main } for (e = intel_execution_engines; e->name; e++) { - igt_subtest_f("%s%s", e->exec_id == 0 ? "basic-" : "", e->name) + igt_subtest_f("%s%s", igt_is_basic(e) ? "basic-" : "", e->name) single(fd, light, e, 0, 1, 5); - igt_subtest_f("%s%s-heavy", e->exec_id == 0 ? "basic-" : "", e->name) + igt_subtest_f("%s%s-heavy", igt_is_basic(e) ? "basic-" : "", e->name) single(fd, heavy, e, 0, 1, 5); igt_subtest_f("%s-interruptible", e->name) single(fd, light, e, INTERRUPTIBLE, 1, 150); diff --git a/tests/gem_exec_fence.c b/tests/gem_exec_fence.c index b094f58551ab..92c626c34021 100644 --- a/tests/gem_exec_fence.c +++ b/tests/gem_exec_fence.c @@ -757,16 +757,16 @@ igt_main } igt_subtest_f("%sbusy-%s", - e->exec_id == 0 ? "basic-" : "", - e->name) + igt_is_basic(e) ? "basic-" : "", + e->name) test_fence_busy(i915, e->exec_id | e->flags, 0); igt_subtest_f("%swait-%s", - e->exec_id == 0 ? "basic-" : "", - e->name) + igt_is_basic(e) ? "basic-" : "", + e->name) test_fence_busy(i915, e->exec_id | e->flags, WAIT); igt_subtest_f("%sawait-%s", - e->exec_id == 0 ? "basic-" : "", - e->name) + igt_is_basic(e) ? "basic-" : "", + e->name) test_fence_await(i915, e->exec_id | e->flags, 0); igt_subtest_f("nb-await-%s", e->name) test_fence_await(i915, e->exec_id | e->flags, NONBLOCK); diff --git a/tests/gem_exec_flush.c b/tests/gem_exec_flush.c index 803d45b66b29..ddc483994b73 100644 --- a/tests/gem_exec_flush.c +++ b/tests/gem_exec_flush.c @@ -598,7 +598,7 @@ igt_main for (e = intel_execution_engines; e->name; e++) igt_subtest_group { unsigned ring = e->exec_id | e->flags; - unsigned timeout = 5 + 120*!!e->exec_id; + unsigned timeout = 5 + 120 * !!!igt_is_basic(e); igt_fixture { gem_require_ring(fd, ring); @@ -607,17 +607,17 @@ igt_main for (const struct batch *b = batches; b->name; b++) { igt_subtest_f("%sbatch-%s-%s-uc", - b == batches && e->exec_id == 0 ? "basic-" : "", + b == batches && igt_is_basic(e) ? "basic-" : "", b->name, e->name) batch(fd, ring, ncpus, timeout, b->mode, 0); igt_subtest_f("%sbatch-%s-%s-wb", - b == batches && e->exec_id == 0 ? "basic-" : "", + b == batches && igt_is_basic(e) ? "basic-" : "", b->name, e->name) batch(fd, ring, ncpus, timeout, b->mode, COHERENT); igt_subtest_f("%sbatch-%s-%s-cmd", - b == batches && e->exec_id == 0 ? "basic-" : "", + b == batches && igt_is_basic(e) ? "basic-" : "", b->name, e->name) batch(fd, ring, ncpus, timeout, b->mode, @@ -626,7 +626,7 @@ igt_main for (const struct mode *m = modes; m->name; m++) { igt_subtest_f("%suc-%s-%s", - (m->flags & BASIC && e->exec_id == 0) ? "basic-" : "", + (m->flags & BASIC && igt_is_basic(e)) ? "basic-" : "", m->name, e->name) run(fd, ring, ncpus, timeout, @@ -639,7 +639,7 @@ igt_main UNCACHED | m->flags | INTERRUPTIBLE); igt_subtest_f("%swb-%s-%s", - e->exec_id == 0 ? "basic-" : "", + igt_is_basic(e) ? "basic-" : "", m->name, e->name) run(fd, ring, ncpus, timeout, diff --git a/tests/gem_ringfill.c b/tests/gem_ringfill.c index b52996a433fd..be2e35f2a0a7 100644 --- a/tests/gem_ringfill.c +++ b/tests/gem_ringfill.c @@ -368,7 +368,7 @@ igt_main for (e = intel_execution_engines; e->name; e++) { igt_subtest_f("%s%s%s", - m->basic && !e->exec_id ? "basic-" : "", + m->basic && igt_is_basic(e) ? "basic-" : "", e->name, m->suffix) { igt_skip_on(m->flags & NEWFD && master); diff --git a/tests/intel-ci/extended.testlist b/tests/intel-ci/extended.testlist index 17eed013f810..7b480cfa1d03 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 @@ -1153,12 +1152,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 @@ -1202,7 +1199,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 @@ -1219,7 +1215,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 @@ -1243,7 +1238,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 @@ -1321,7 +1315,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 @@ -1339,9 +1332,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 @@ -1391,7 +1381,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 @@ -1430,7 +1419,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 @@ -1707,8 +1695,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 @@ -1753,26 +1739,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 @@ -1780,7 +1762,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 @@ -1833,7 +1814,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 @@ -1842,7 +1822,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 diff --git a/tests/intel-ci/fast-feedback.testlist b/tests/intel-ci/fast-feedback.testlist index abe928d973e9..7d4f65ec2248 100644 --- a/tests/intel-ci/fast-feedback.testlist +++ b/tests/intel-ci/fast-feedback.testlist @@ -8,62 +8,59 @@ igt@drv_hangman@error-state-basic igt@gem_basic@bad-close igt@gem_basic@create-close igt@gem_basic@create-fd-close -igt@gem_busy@basic-busy-default -igt@gem_busy@basic-hang-default +igt@gem_busy@basic-busy-render +igt@gem_busy@basic-hang-render igt@gem_close_race@basic-process igt@gem_close_race@basic-threads igt@gem_cpu_reloc@basic -igt@gem_cs_tlb@basic-default +igt@gem_cs_tlb@basic-render igt@gem_ctx_basic igt@gem_ctx_create@basic igt@gem_ctx_create@basic-files igt@gem_ctx_exec@basic igt@gem_ctx_param@basic igt@gem_ctx_param@basic-default -igt@gem_ctx_switch@basic-default -igt@gem_ctx_switch@basic-default-heavy +igt@gem_ctx_switch@basic-render +igt@gem_ctx_switch@basic-render-heavy igt@gem_exec_basic@basic-blt igt@gem_exec_basic@basic-bsd igt@gem_exec_basic@basic-bsd1 igt@gem_exec_basic@basic-bsd2 -igt@gem_exec_basic@basic-default igt@gem_exec_basic@basic-render igt@gem_exec_basic@basic-vebox igt@gem_exec_basic@gtt-blt igt@gem_exec_basic@gtt-bsd igt@gem_exec_basic@gtt-bsd1 igt@gem_exec_basic@gtt-bsd2 -igt@gem_exec_basic@gtt-default igt@gem_exec_basic@gtt-render igt@gem_exec_basic@gtt-vebox igt@gem_exec_basic@readonly-blt igt@gem_exec_basic@readonly-bsd igt@gem_exec_basic@readonly-bsd1 igt@gem_exec_basic@readonly-bsd2 -igt@gem_exec_basic@readonly-default igt@gem_exec_basic@readonly-render igt@gem_exec_basic@readonly-vebox igt@gem_exec_create@basic -igt@gem_exec_fence@basic-busy-default -igt@gem_exec_fence@basic-wait-default -igt@gem_exec_fence@basic-await-default -igt@gem_exec_fence@await-hang-default -igt@gem_exec_fence@nb-await-default -igt@gem_exec_flush@basic-batch-kernel-default-cmd -igt@gem_exec_flush@basic-batch-kernel-default-uc -igt@gem_exec_flush@basic-batch-kernel-default-wb -igt@gem_exec_flush@basic-uc-pro-default -igt@gem_exec_flush@basic-uc-prw-default -igt@gem_exec_flush@basic-uc-ro-default -igt@gem_exec_flush@basic-uc-rw-default -igt@gem_exec_flush@basic-uc-set-default -igt@gem_exec_flush@basic-wb-pro-default -igt@gem_exec_flush@basic-wb-prw-default -igt@gem_exec_flush@basic-wb-ro-before-default -igt@gem_exec_flush@basic-wb-ro-default -igt@gem_exec_flush@basic-wb-rw-before-default -igt@gem_exec_flush@basic-wb-rw-default -igt@gem_exec_flush@basic-wb-set-default +igt@gem_exec_fence@basic-busy-render +igt@gem_exec_fence@basic-wait-render +igt@gem_exec_fence@basic-await-render +igt@gem_exec_fence@await-hang-render +igt@gem_exec_fence@nb-await-render +igt@gem_exec_flush@basic-batch-kernel-render-cmd +igt@gem_exec_flush@basic-batch-kernel-render-uc +igt@gem_exec_flush@basic-batch-kernel-render-wb +igt@gem_exec_flush@basic-uc-pro-render +igt@gem_exec_flush@basic-uc-prw-render +igt@gem_exec_flush@basic-uc-ro-render +igt@gem_exec_flush@basic-uc-rw-render +igt@gem_exec_flush@basic-uc-set-render +igt@gem_exec_flush@basic-wb-pro-render +igt@gem_exec_flush@basic-wb-prw-render +igt@gem_exec_flush@basic-wb-ro-before-render +igt@gem_exec_flush@basic-wb-ro-render +igt@gem_exec_flush@basic-wb-rw-before-render +igt@gem_exec_flush@basic-wb-rw-render +igt@gem_exec_flush@basic-wb-set-render igt@gem_exec_gttfill@basic igt@gem_exec_nop@basic-parallel igt@gem_exec_nop@basic-series @@ -103,7 +100,6 @@ igt@gem_exec_store@basic-blt igt@gem_exec_store@basic-bsd igt@gem_exec_store@basic-bsd1 igt@gem_exec_store@basic-bsd2 -igt@gem_exec_store@basic-default igt@gem_exec_store@basic-render igt@gem_exec_store@basic-vebox igt@gem_exec_suspend@basic @@ -141,11 +137,11 @@ igt@gem_pread@basic igt@gem_pwrite@basic igt@gem_render_linear_blits@basic igt@gem_render_tiled_blits@basic -igt@gem_ringfill@basic-default -igt@gem_ringfill@basic-default-interruptible -igt@gem_ringfill@basic-default-forked -igt@gem_ringfill@basic-default-fd -igt@gem_ringfill@basic-default-hang +igt@gem_ringfill@basic-render +igt@gem_ringfill@basic-render-interruptible +igt@gem_ringfill@basic-render-forked +igt@gem_ringfill@basic-render-fd +igt@gem_ringfill@basic-render-hang igt@gem_sync@basic-all igt@gem_sync@basic-each igt@gem_sync@basic-many-each @@ -195,9 +191,9 @@ igt@kms_addfb_basic@unused-handle igt@kms_addfb_basic@unused-modifier igt@kms_addfb_basic@unused-offsets igt@kms_addfb_basic@unused-pitches -igt@kms_busy@basic-flip-default-a -igt@kms_busy@basic-flip-default-b -igt@kms_busy@basic-flip-default-c +igt@kms_busy@basic-flip-render-a +igt@kms_busy@basic-flip-render-b +igt@kms_busy@basic-flip-render-c igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy igt@kms_cursor_legacy@basic-flip-after-cursor-atomic @@ -243,25 +239,25 @@ igt@pm_backlight@basic-brightness igt@pm_rpm@basic-pci-d3-state igt@pm_rpm@basic-rte igt@pm_rps@basic-api -igt@prime_busy@basic-after-default -igt@prime_busy@basic-before-default -igt@prime_busy@basic-wait-after-default -igt@prime_busy@basic-wait-before-default +igt@prime_busy@basic-after-render +igt@prime_busy@basic-before-render +igt@prime_busy@basic-wait-after-render +igt@prime_busy@basic-wait-before-render igt@prime_self_import@basic-llseek-bad igt@prime_self_import@basic-llseek-size igt@prime_self_import@basic-with_fd_dup igt@prime_self_import@basic-with_one_bo igt@prime_self_import@basic-with_one_bo_two_files igt@prime_self_import@basic-with_two_bos -igt@prime_vgem@basic-busy-default +igt@prime_vgem@basic-busy-render igt@prime_vgem@basic-fence-flip igt@prime_vgem@basic-fence-mmap igt@prime_vgem@basic-fence-read -igt@prime_vgem@basic-fence-wait-default +igt@prime_vgem@basic-fence-wait-render igt@prime_vgem@basic-gtt igt@prime_vgem@basic-read -igt@prime_vgem@basic-sync-default -igt@prime_vgem@basic-wait-default +igt@prime_vgem@basic-sync-render +igt@prime_vgem@basic-wait-render igt@prime_vgem@basic-write igt@vgem_basic@setversion igt@vgem_basic@create diff --git a/tests/kms_busy.c b/tests/kms_busy.c index af7335db0d11..f7c476ac94c5 100644 --- a/tests/kms_busy.c +++ b/tests/kms_busy.c @@ -335,7 +335,7 @@ igt_main for (e = intel_execution_engines; e->name; e++) { igt_subtest_f("%sflip-%s-%s", - e->exec_id == 0 ? "basic-" : "", + igt_is_basic(e) ? "basic-" : "", e->name, kmstest_pipe_name(n)) { igt_require(gem_has_ring(display.drm_fd, e->exec_id | e->flags)); @@ -343,7 +343,7 @@ igt_main test_flip(&display, e->exec_id | e->flags, n, false); } igt_subtest_f("%smodeset-%s-%s", - e->exec_id == 0 ? "basic-" : "", + igt_is_basic(e) ? "basic-" : "", e->name, kmstest_pipe_name(n)) { igt_require(gem_has_ring(display.drm_fd, e->exec_id | e->flags)); diff --git a/tests/prime_busy.c b/tests/prime_busy.c index cbc91545d8d9..a4e42a7558e0 100644 --- a/tests/prime_busy.c +++ b/tests/prime_busy.c @@ -186,7 +186,7 @@ static void run_busy(int fd, } igt_subtest_f("%s%s-%s", - !e->exec_id && !(flags & HANG) ? "basic-" : "", + igt_is_basic(e) && !(flags & HANG) ? "basic-" : "", name, e->name) busy(fd, e->exec_id | e->flags, flags); @@ -211,7 +211,7 @@ static void run_poll(int fd, } igt_subtest_f("%swait-%s-%s", - !e->exec_id && !(flags & HANG) ? "basic-" : "", + igt_is_basic(e) && !(flags & HANG) ? "basic-" : "", name, e->name) busy(fd, e->exec_id | e->flags, flags | POLL); diff --git a/tests/prime_vgem.c b/tests/prime_vgem.c index 95557ef917fe..6cc637a32d12 100644 --- a/tests/prime_vgem.c +++ b/tests/prime_vgem.c @@ -755,7 +755,7 @@ igt_main for (e = intel_execution_engines; e->name; e++) { igt_subtest_f("%ssync-%s", - e->exec_id == 0 ? "basic-" : "", + igt_is_basic(e) ? "basic-" : "", e->name) { gem_require_ring(i915, e->exec_id | e->flags); igt_require(gem_can_store_dword(i915, e->exec_id) | e->flags); @@ -767,7 +767,7 @@ igt_main for (e = intel_execution_engines; e->name; e++) { igt_subtest_f("%sbusy-%s", - e->exec_id == 0 ? "basic-" : "", + igt_is_basic(e) ? "basic-" : "", e->name) { gem_require_ring(i915, e->exec_id | e->flags); igt_require(gem_can_store_dword(i915, e->exec_id) | e->flags); @@ -779,7 +779,7 @@ igt_main for (e = intel_execution_engines; e->name; e++) { igt_subtest_f("%swait-%s", - e->exec_id == 0 ? "basic-" : "", + igt_is_basic(e) ? "basic-" : "", e->name) { gem_require_ring(i915, e->exec_id | e->flags); igt_require(gem_can_store_dword(i915, e->exec_id) | e->flags); @@ -802,8 +802,8 @@ igt_main for (e = intel_execution_engines; e->name; e++) { igt_subtest_f("%sfence-wait-%s", - e->exec_id == 0 ? "basic-" : "", - e->name) { + igt_is_basic(e) ? "basic-" : "", + e->name) { gem_require_ring(i915, e->exec_id | e->flags); igt_require(gem_can_store_dword(i915, e->exec_id) | e->flags); -- 2.9.4 _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply related [flat|nested] 18+ messages in thread
* Re: [PATCH i-g-t v2 1/4] igt: Remove default from the engine list 2017-07-06 13:33 ` [PATCH i-g-t v2 " Tvrtko Ursulin @ 2017-07-06 13:35 ` Chris Wilson 0 siblings, 0 replies; 18+ messages in thread From: Chris Wilson @ 2017-07-06 13:35 UTC (permalink / raw) To: Tvrtko Ursulin, Intel-gfx Quoting Tvrtko Ursulin (2017-07-06 14:33:06) > From: Tvrtko Ursulin <tvrtko.ursulin@intel.com> > > Default is not an engine but an ABI alias for RCS. Remove it > from the engine list to eliminate redundant subtests and test > passes. > > v2: Fix basic test timeout. > > Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> > Acked-by: Daniel Vetter <daniel.vetter@intel.com> NACK. Default is part of the abi, being used to differentiate BAT testing from manual testing for one thing. It remains part of the API and until you present a new api for class-instance and begin converting every test over, it shall remain. -Chris _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 18+ messages in thread
* [RFC i-g-t 2/4] gem_exec_basic: Exercise the default engine selection 2017-06-23 11:31 [RFC i-g-t 0/4] Redundant test pruning Tvrtko Ursulin 2017-06-23 11:31 ` [RFC i-g-t 1/4] igt: Remove default from the engine list Tvrtko Ursulin @ 2017-06-23 11:31 ` Tvrtko Ursulin 2017-06-23 11:31 ` [RFC i-g-t 3/4] gem_sync: Add all and store_all subtests Tvrtko Ursulin ` (2 subsequent siblings) 4 siblings, 0 replies; 18+ messages in thread From: Tvrtko Ursulin @ 2017-06-23 11:31 UTC (permalink / raw) To: Intel-gfx; +Cc: Daniel Vetter From: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Exercise the ABI with a basic test now that we have removed the defaul engine alias from the engine list. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> --- tests/gem_exec_basic.c | 9 +++++++++ tests/intel-ci/fast-feedback.testlist | 3 +++ 2 files changed, 12 insertions(+) diff --git a/tests/gem_exec_basic.c b/tests/gem_exec_basic.c index 2f057ef02f22..2cb6a90a01f9 100644 --- a/tests/gem_exec_basic.c +++ b/tests/gem_exec_basic.c @@ -111,6 +111,15 @@ igt_main igt_fork_hang_detector(fd); } + igt_subtest("basic-default") + noop(fd, I915_EXEC_DEFAULT); + + igt_subtest("readonly-default") + readonly(fd, I915_EXEC_DEFAULT); + + igt_subtest("gtt-default") + gtt(fd, I915_EXEC_DEFAULT); + for (e = intel_execution_engines; e->name; e++) { igt_subtest_f("basic-%s", e->name) noop(fd, e->exec_id | e->flags); diff --git a/tests/intel-ci/fast-feedback.testlist b/tests/intel-ci/fast-feedback.testlist index 7d4f65ec2248..e90e700ec1ed 100644 --- a/tests/intel-ci/fast-feedback.testlist +++ b/tests/intel-ci/fast-feedback.testlist @@ -26,18 +26,21 @@ igt@gem_exec_basic@basic-blt igt@gem_exec_basic@basic-bsd igt@gem_exec_basic@basic-bsd1 igt@gem_exec_basic@basic-bsd2 +igt@gem_exec_basic@basic-default igt@gem_exec_basic@basic-render igt@gem_exec_basic@basic-vebox igt@gem_exec_basic@gtt-blt igt@gem_exec_basic@gtt-bsd igt@gem_exec_basic@gtt-bsd1 igt@gem_exec_basic@gtt-bsd2 +igt@gem_exec_basic@gtt-default igt@gem_exec_basic@gtt-render igt@gem_exec_basic@gtt-vebox igt@gem_exec_basic@readonly-blt igt@gem_exec_basic@readonly-bsd igt@gem_exec_basic@readonly-bsd1 igt@gem_exec_basic@readonly-bsd2 +igt@gem_exec_basic@readonly-default igt@gem_exec_basic@readonly-render igt@gem_exec_basic@readonly-vebox igt@gem_exec_create@basic -- 2.9.4 _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply related [flat|nested] 18+ messages in thread
* [RFC i-g-t 3/4] gem_sync: Add all and store_all subtests 2017-06-23 11:31 [RFC i-g-t 0/4] Redundant test pruning Tvrtko Ursulin 2017-06-23 11:31 ` [RFC i-g-t 1/4] igt: Remove default from the engine list Tvrtko Ursulin 2017-06-23 11:31 ` [RFC i-g-t 2/4] gem_exec_basic: Exercise the default engine selection Tvrtko Ursulin @ 2017-06-23 11:31 ` Tvrtko Ursulin 2017-06-23 11:31 ` [RFC i-g-t 4/4] extended.testlist: Remove some test-subtest combinations Tvrtko Ursulin 2017-06-26 16:09 ` [RFC i-g-t 0/4] Redundant test pruning Daniel Vetter 4 siblings, 0 replies; 18+ messages in thread From: Tvrtko Ursulin @ 2017-06-23 11:31 UTC (permalink / raw) To: Intel-gfx; +Cc: Daniel Vetter From: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Extended versions of the already existing short tests. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> --- tests/gem_sync.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tests/gem_sync.c b/tests/gem_sync.c index 706462bc0ac7..f9a2ebdfbe21 100644 --- a/tests/gem_sync.c +++ b/tests/gem_sync.c @@ -757,6 +757,11 @@ igt_main sync_all(fd, 1, 5); igt_subtest("basic-store-all") store_all(fd, 1, 5); + + igt_subtest("all") + sync_all(fd, 1, 150); + igt_subtest("store-all") + store_all(fd, 1, 150); igt_subtest("forked-all") sync_all(fd, ncpus, 150); igt_subtest("forked-store-all") -- 2.9.4 _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply related [flat|nested] 18+ messages in thread
* [RFC i-g-t 4/4] extended.testlist: Remove some test-subtest combinations 2017-06-23 11:31 [RFC i-g-t 0/4] Redundant test pruning Tvrtko Ursulin ` (2 preceding siblings ...) 2017-06-23 11:31 ` [RFC i-g-t 3/4] gem_sync: Add all and store_all subtests Tvrtko Ursulin @ 2017-06-23 11:31 ` Tvrtko Ursulin 2017-06-26 16:09 ` [RFC i-g-t 0/4] Redundant test pruning Daniel Vetter 4 siblings, 0 replies; 18+ messages in thread From: Tvrtko Ursulin @ 2017-06-23 11:31 UTC (permalink / raw) To: Intel-gfx; +Cc: Daniel Vetter From: Tvrtko Ursulin <tvrtko.ursulin@intel.com> For tests with attempt to hit races and such by running for relatively long time, it seems that it might be possible to get by only testing some subtest-engine combinations as long as in total we still exercise all engines per test. More precisely, I think that if we view our engines as fast (!rcs) and a little less fast (others), we group the race hitting tests in those two camps, we keep the same coverage by running each subtest against each engine group. v2: Replace individual engine gem_sync subtests with all variants. (Chris Wilson) Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> --- tests/intel-ci/extended.testlist | 54 +++------------------------------------- 1 file changed, 4 insertions(+), 50 deletions(-) diff --git a/tests/intel-ci/extended.testlist b/tests/intel-ci/extended.testlist index c4daf792dc95..1f7b5baf582f 100644 --- a/tests/intel-ci/extended.testlist +++ b/tests/intel-ci/extended.testlist @@ -73,11 +73,7 @@ igt@gem_pwrite@huge-gtt-fbr igt@gem_pwrite@huge-gtt-forwards igt@gem_pwrite@huge-gtt-random igt@gem_ringfill@blt-bomb -igt@gem_ringfill@bsd-bomb -igt@gem_ringfill@bsd1-bomb -igt@gem_ringfill@bsd2-bomb igt@gem_ringfill@render-bomb -igt@gem_ringfill@vebox-bomb igt@gem_userptr_blits@stress-mm igt@gem_userptr_blits@stress-mm-invalidate-close igt@gem_userptr_blits@stress-mm-invalidate-close-overlap @@ -1658,30 +1654,14 @@ igt@gem_ring_sync_copy@sync-render-blitter-read-write igt@gem_ring_sync_copy@sync-render-blitter-write-read igt@gem_ring_sync_copy@sync-render-blitter-write-write igt@gem_ring_sync_loop -igt@gem_ringfill@blt -igt@gem_ringfill@blt-child igt@gem_ringfill@blt-interruptible -igt@gem_ringfill@blt-s3 igt@gem_ringfill@bsd -igt@gem_ringfill@bsd-child -igt@gem_ringfill@bsd-interruptible igt@gem_ringfill@bsd-s3 -igt@gem_ringfill@bsd1 -igt@gem_ringfill@bsd1-child -igt@gem_ringfill@bsd1-interruptible -igt@gem_ringfill@bsd1-s3 -igt@gem_ringfill@bsd2 -igt@gem_ringfill@bsd2-child -igt@gem_ringfill@bsd2-interruptible -igt@gem_ringfill@bsd2-s3 igt@gem_ringfill@render igt@gem_ringfill@render-child igt@gem_ringfill@render-interruptible igt@gem_ringfill@render-s3 -igt@gem_ringfill@vebox igt@gem_ringfill@vebox-child -igt@gem_ringfill@vebox-interruptible -igt@gem_ringfill@vebox-s3 igt@gem_set_tiling_vs_blt@tiled-to-tiled igt@gem_set_tiling_vs_blt@tiled-to-untiled igt@gem_set_tiling_vs_blt@untiled-to-tiled @@ -1715,35 +1695,15 @@ igt@gem_storedw_batches_loop@normal igt@gem_storedw_batches_loop@secure-dispatch igt@gem_storedw_batches_loop@uncached-mapping 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-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-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@many-blt -igt@gem_sync@many-bsd -igt@gem_sync@many-bsd1 -igt@gem_sync@many-bsd2 -igt@gem_sync@many-render -igt@gem_sync@many-vebox -igt@gem_sync@render -igt@gem_sync@store-blt -igt@gem_sync@store-bsd -igt@gem_sync@store-bsd1 -igt@gem_sync@store-bsd2 -igt@gem_sync@store-render -igt@gem_sync@store-vebox -igt@gem_sync@vebox +igt@gem_sync@all +igt@gem_sync@store-all +igt@gem_sync@forked-all +igt@gem_sync@forked-store-all igt@gem_threaded_access_tiled igt@gem_tiled_blits@interruptible igt@gem_tiled_blits@normal @@ -1790,17 +1750,11 @@ igt@gem_userptr_blits@unsync-unmap-after-close igt@gem_userptr_blits@unsync-unmap-cycles igt@gem_userptr_blits@usage-restrictions igt@gem_wait@busy-blt -igt@gem_wait@busy-bsd -igt@gem_wait@busy-bsd1 -igt@gem_wait@busy-bsd2 igt@gem_wait@busy-render igt@gem_wait@busy-vebox igt@gem_wait@invalid-buf igt@gem_wait@invalid-flags -igt@gem_wait@wait-blt igt@gem_wait@wait-bsd -igt@gem_wait@wait-bsd1 -igt@gem_wait@wait-bsd2 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 ^ permalink raw reply related [flat|nested] 18+ messages in thread
* Re: [RFC i-g-t 0/4] Redundant test pruning 2017-06-23 11:31 [RFC i-g-t 0/4] Redundant test pruning Tvrtko Ursulin ` (3 preceding siblings ...) 2017-06-23 11:31 ` [RFC i-g-t 4/4] extended.testlist: Remove some test-subtest combinations Tvrtko Ursulin @ 2017-06-26 16:09 ` Daniel Vetter 2017-06-27 8:02 ` Tvrtko Ursulin 4 siblings, 1 reply; 18+ messages in thread From: Daniel Vetter @ 2017-06-26 16:09 UTC (permalink / raw) To: Tvrtko Ursulin; +Cc: Daniel Vetter, Intel-gfx On Fri, Jun 23, 2017 at 12:31:39PM +0100, Tvrtko Ursulin wrote: > From: Tvrtko Ursulin <tvrtko.ursulin@intel.com> > > Small series which saves test execution time by removing the redundant tests. > > Tvrtko Ursulin (4): > igt: Remove default from the engine list > gem_exec_basic: Exercise the default engine selection > gem_sync: Add all and store_all subtests > extended.testlist: Remove some test-subtest combinations Ack on patches 1&2, but I'm not sold on patch 3. Atm gem_* takes a ridiculous amount of machine time to run, you're adding more stuff. Are those tests really drastially better at catching races if we run them 10x longer? Is there no better way to exercise the races (lots more machines, maybe slower ones, which is atm impossible since it just takes way, way too long and we need an entire farm just for one machine). Also not sure how much curating extended.testlist is worth it, just make the testcases faster :-) Like, roughly 100x faster overall for gem_* ... But meanwhile ack on that one too. -Daniel > > lib/igt_gt.c | 1 - > tests/gem_exec_basic.c | 9 ++++ > tests/gem_sync.c | 5 +++ > tests/intel-ci/extended.testlist | 75 ++----------------------------- > tests/intel-ci/fast-feedback.testlist | 83 +++++++++++++++++------------------ > 5 files changed, 59 insertions(+), 114 deletions(-) > > -- > 2.9.4 > -- 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] 18+ messages in thread
* Re: [RFC i-g-t 0/4] Redundant test pruning 2017-06-26 16:09 ` [RFC i-g-t 0/4] Redundant test pruning Daniel Vetter @ 2017-06-27 8:02 ` Tvrtko Ursulin 2017-06-27 9:14 ` Daniel Vetter 2017-07-05 13:30 ` Tvrtko Ursulin 0 siblings, 2 replies; 18+ messages in thread From: Tvrtko Ursulin @ 2017-06-27 8:02 UTC (permalink / raw) To: Daniel Vetter, Tvrtko Ursulin; +Cc: Daniel Vetter, Intel-gfx On 26/06/2017 17:09, Daniel Vetter wrote: > On Fri, Jun 23, 2017 at 12:31:39PM +0100, Tvrtko Ursulin wrote: >> From: Tvrtko Ursulin <tvrtko.ursulin@intel.com> >> >> Small series which saves test execution time by removing the redundant tests. >> >> Tvrtko Ursulin (4): >> igt: Remove default from the engine list >> gem_exec_basic: Exercise the default engine selection >> gem_sync: Add all and store_all subtests >> extended.testlist: Remove some test-subtest combinations > > Ack on patches 1&2, but I'm not sold on patch 3. Atm gem_* takes a > ridiculous amount of machine time to run, you're adding more stuff. Are > those tests really drastially better at catching races if we run them 10x > longer? Is there no better way to exercise the races (lots more machines, > maybe slower ones, which is atm impossible since it just takes way, way > too long and we need an entire farm just for one machine). New gem_sync subtests were suggested by Chris after I send the first version of the series with the goal of getting the same coverage in faster time. If you look at patch 4, it removes 18 * 150s of gem_sync subtests, and adds 4 * 150s. So in total we are 35 minutes better of in the best case, a bit less on smaller machines. This is just for gem_sync, I forgot what did the saving for the series add up to. 1-2 hours maybe? > Also not sure how much curating extended.testlist is worth it, just make > the testcases faster :-) Like, roughly 100x faster overall for gem_* ... > > But meanwhile ack on that one too. In which one, 3, or 4, or both? Regards, Tvrtko _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [RFC i-g-t 0/4] Redundant test pruning 2017-06-27 8:02 ` Tvrtko Ursulin @ 2017-06-27 9:14 ` Daniel Vetter 2017-06-27 11:46 ` Chris Wilson 2017-07-05 13:30 ` Tvrtko Ursulin 1 sibling, 1 reply; 18+ messages in thread From: Daniel Vetter @ 2017-06-27 9:14 UTC (permalink / raw) To: Tvrtko Ursulin; +Cc: Daniel Vetter, Intel-gfx On Tue, Jun 27, 2017 at 09:02:02AM +0100, Tvrtko Ursulin wrote: > > On 26/06/2017 17:09, Daniel Vetter wrote: > > On Fri, Jun 23, 2017 at 12:31:39PM +0100, Tvrtko Ursulin wrote: > > > From: Tvrtko Ursulin <tvrtko.ursulin@intel.com> > > > > > > Small series which saves test execution time by removing the redundant tests. > > > > > > Tvrtko Ursulin (4): > > > igt: Remove default from the engine list > > > gem_exec_basic: Exercise the default engine selection > > > gem_sync: Add all and store_all subtests > > > extended.testlist: Remove some test-subtest combinations > > > > Ack on patches 1&2, but I'm not sold on patch 3. Atm gem_* takes a > > ridiculous amount of machine time to run, you're adding more stuff. Are > > those tests really drastially better at catching races if we run them 10x > > longer? Is there no better way to exercise the races (lots more machines, > > maybe slower ones, which is atm impossible since it just takes way, way > > too long and we need an entire farm just for one machine). > > New gem_sync subtests were suggested by Chris after I send the first version > of the series with the goal of getting the same coverage in faster time. > > If you look at patch 4, it removes 18 * 150s of gem_sync subtests, and adds > 4 * 150s. So in total we are 35 minutes better of in the best case, a bit > less on smaller machines. So why keep the other 18 tests when we have coverage by the new ones? Some developer modes (like e.g. kms_frontbuffer_tracking has) for testing is all nice, but piling ever higher amounts of redundant tests up isn't great imo. -Daniel -- 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] 18+ messages in thread
* Re: [RFC i-g-t 0/4] Redundant test pruning 2017-06-27 9:14 ` Daniel Vetter @ 2017-06-27 11:46 ` Chris Wilson 2017-06-27 13:10 ` Daniel Vetter 0 siblings, 1 reply; 18+ messages in thread From: Chris Wilson @ 2017-06-27 11:46 UTC (permalink / raw) To: Daniel Vetter, Tvrtko Ursulin; +Cc: Daniel Vetter, Intel-gfx Quoting Daniel Vetter (2017-06-27 10:14:40) > On Tue, Jun 27, 2017 at 09:02:02AM +0100, Tvrtko Ursulin wrote: > > > > On 26/06/2017 17:09, Daniel Vetter wrote: > > > On Fri, Jun 23, 2017 at 12:31:39PM +0100, Tvrtko Ursulin wrote: > > > > From: Tvrtko Ursulin <tvrtko.ursulin@intel.com> > > > > > > > > Small series which saves test execution time by removing the redundant tests. > > > > > > > > Tvrtko Ursulin (4): > > > > igt: Remove default from the engine list > > > > gem_exec_basic: Exercise the default engine selection > > > > gem_sync: Add all and store_all subtests > > > > extended.testlist: Remove some test-subtest combinations > > > > > > Ack on patches 1&2, but I'm not sold on patch 3. Atm gem_* takes a > > > ridiculous amount of machine time to run, you're adding more stuff. Are > > > those tests really drastially better at catching races if we run them 10x > > > longer? Is there no better way to exercise the races (lots more machines, > > > maybe slower ones, which is atm impossible since it just takes way, way > > > too long and we need an entire farm just for one machine). > > > > New gem_sync subtests were suggested by Chris after I send the first version > > of the series with the goal of getting the same coverage in faster time. > > > > If you look at patch 4, it removes 18 * 150s of gem_sync subtests, and adds > > 4 * 150s. So in total we are 35 minutes better of in the best case, a bit > > less on smaller machines. > > So why keep the other 18 tests when we have coverage by the new ones? Some > developer modes (like e.g. kms_frontbuffer_tracking has) for testing is > all nice, but piling ever higher amounts of redundant tests up isn't great > imo. They are redundant? The subtle differences have dramatic impact on timings and bug discovery. I was suggesting that if we were going to run a cutdown test, it may as well be engineered for the task. I am very happy if we could replace all of the bulk stess tests with a fuzzy approach. We obviously have to keep a minimal set to check expected behaviour and to catch old regressions, but trying to capture all the ways the hw can fail and muck up the driver should be automated. I've been wondering if we can write a mock device powered by BPF (or something) and see if we can do fault injection for the more obscure code paths. Regular fuzzing over the abi to maximise code coverage is much easier than defining how the hw is supposed to react and fuzzing the hw through the driver. I don't agree that cutting them out of CI helps me at all trying to find bugs with mtbf of over 24 hours. CI scales by adding more machines, not by reducing tests. We need more diversity in our tests, not less. -Chris _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [RFC i-g-t 0/4] Redundant test pruning 2017-06-27 11:46 ` Chris Wilson @ 2017-06-27 13:10 ` Daniel Vetter 0 siblings, 0 replies; 18+ messages in thread From: Daniel Vetter @ 2017-06-27 13:10 UTC (permalink / raw) To: Chris Wilson; +Cc: Intel-gfx, Daniel Vetter On Tue, Jun 27, 2017 at 12:46:28PM +0100, Chris Wilson wrote: > Quoting Daniel Vetter (2017-06-27 10:14:40) > > On Tue, Jun 27, 2017 at 09:02:02AM +0100, Tvrtko Ursulin wrote: > > > > > > On 26/06/2017 17:09, Daniel Vetter wrote: > > > > On Fri, Jun 23, 2017 at 12:31:39PM +0100, Tvrtko Ursulin wrote: > > > > > From: Tvrtko Ursulin <tvrtko.ursulin@intel.com> > > > > > > > > > > Small series which saves test execution time by removing the redundant tests. > > > > > > > > > > Tvrtko Ursulin (4): > > > > > igt: Remove default from the engine list > > > > > gem_exec_basic: Exercise the default engine selection > > > > > gem_sync: Add all and store_all subtests > > > > > extended.testlist: Remove some test-subtest combinations > > > > > > > > Ack on patches 1&2, but I'm not sold on patch 3. Atm gem_* takes a > > > > ridiculous amount of machine time to run, you're adding more stuff. Are > > > > those tests really drastially better at catching races if we run them 10x > > > > longer? Is there no better way to exercise the races (lots more machines, > > > > maybe slower ones, which is atm impossible since it just takes way, way > > > > too long and we need an entire farm just for one machine). > > > > > > New gem_sync subtests were suggested by Chris after I send the first version > > > of the series with the goal of getting the same coverage in faster time. > > > > > > If you look at patch 4, it removes 18 * 150s of gem_sync subtests, and adds > > > 4 * 150s. So in total we are 35 minutes better of in the best case, a bit > > > less on smaller machines. > > > > So why keep the other 18 tests when we have coverage by the new ones? Some > > developer modes (like e.g. kms_frontbuffer_tracking has) for testing is > > all nice, but piling ever higher amounts of redundant tests up isn't great > > imo. > > They are redundant? The subtle differences have dramatic impact on > timings and bug discovery. I was suggesting that if we were going to > run a cutdown test, it may as well be engineered for the task. I am very > happy if we could replace all of the bulk stess tests with a fuzzy > approach. We obviously have to keep a minimal set to check expected > behaviour and to catch old regressions, but trying to capture all the > ways the hw can fail and muck up the driver should be automated. I've > been wondering if we can write a mock device powered by BPF (or > something) and see if we can do fault injection for the more obscure > code paths. Regular fuzzing over the abi to maximise code coverage is > much easier than defining how the hw is supposed to react and fuzzing > the hw through the driver. > > I don't agree that cutting them out of CI helps me at all trying to find > bugs with mtbf of over 24 hours. CI scales by adding more machines, not > by reducing tests. We need more diversity in our tests, not less. The reality is that you want more machines than we can get right now. That means CI won't be able to find stuff with a mtbf bigger than a few hours, at least not consistently. Adapt your test strategy pls (or someone with much less clue about what makes sense like me will chaos-monkey igt until it fits). Alternative is that we simply don't run any of the gem_* tests (this is where we are right now, since way too long), and I don't see how that's better. In an ideal world I'd fully agree with you, but somehow we ended up in the wrong multiverse ... Thanks, Daniel -- 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] 18+ messages in thread
* Re: [RFC i-g-t 0/4] Redundant test pruning 2017-06-27 8:02 ` Tvrtko Ursulin 2017-06-27 9:14 ` Daniel Vetter @ 2017-07-05 13:30 ` Tvrtko Ursulin 2017-07-06 9:28 ` Daniel Vetter 1 sibling, 1 reply; 18+ messages in thread From: Tvrtko Ursulin @ 2017-07-05 13:30 UTC (permalink / raw) To: Daniel Vetter, Tvrtko Ursulin; +Cc: Daniel Vetter, Intel-gfx On 27/06/2017 09:02, Tvrtko Ursulin wrote: > On 26/06/2017 17:09, Daniel Vetter wrote: >> On Fri, Jun 23, 2017 at 12:31:39PM +0100, Tvrtko Ursulin wrote: >>> From: Tvrtko Ursulin <tvrtko.ursulin@intel.com> >>> >>> Small series which saves test execution time by removing the >>> redundant tests. >>> >>> Tvrtko Ursulin (4): >>> igt: Remove default from the engine list >>> gem_exec_basic: Exercise the default engine selection >>> gem_sync: Add all and store_all subtests >>> extended.testlist: Remove some test-subtest combinations >> >> Ack on patches 1&2, but I'm not sold on patch 3. Atm gem_* takes a >> ridiculous amount of machine time to run, you're adding more stuff. Are >> those tests really drastially better at catching races if we run them 10x >> longer? Is there no better way to exercise the races (lots more machines, >> maybe slower ones, which is atm impossible since it just takes way, way >> too long and we need an entire farm just for one machine). > > New gem_sync subtests were suggested by Chris after I send the first > version of the series with the goal of getting the same coverage in > faster time. > > If you look at patch 4, it removes 18 * 150s of gem_sync subtests, and > adds 4 * 150s. So in total we are 35 minutes better of in the best case, > a bit less on smaller machines. > > This is just for gem_sync, I forgot what did the saving for the series > add up to. 1-2 hours maybe? > >> Also not sure how much curating extended.testlist is worth it, just make >> the testcases faster :-) Like, roughly 100x faster overall for gem_* >> ... > >> But meanwhile ack on that one too. > > In which one, 3, or 4, or both? Ping on the series - do we want to try easy runtime reduction via this way or should I drop it? Regards, Tvrtko _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [RFC i-g-t 0/4] Redundant test pruning 2017-07-05 13:30 ` Tvrtko Ursulin @ 2017-07-06 9:28 ` Daniel Vetter 2017-07-06 11:31 ` Tvrtko Ursulin 0 siblings, 1 reply; 18+ messages in thread From: Daniel Vetter @ 2017-07-06 9:28 UTC (permalink / raw) To: Tvrtko Ursulin; +Cc: Daniel Vetter, Intel-gfx On Wed, Jul 05, 2017 at 02:30:43PM +0100, Tvrtko Ursulin wrote: > > On 27/06/2017 09:02, Tvrtko Ursulin wrote: > > On 26/06/2017 17:09, Daniel Vetter wrote: > > > On Fri, Jun 23, 2017 at 12:31:39PM +0100, Tvrtko Ursulin wrote: > > > > From: Tvrtko Ursulin <tvrtko.ursulin@intel.com> > > > > > > > > Small series which saves test execution time by removing the > > > > redundant tests. > > > > > > > > Tvrtko Ursulin (4): > > > > igt: Remove default from the engine list > > > > gem_exec_basic: Exercise the default engine selection > > > > gem_sync: Add all and store_all subtests > > > > extended.testlist: Remove some test-subtest combinations > > > > > > Ack on patches 1&2, but I'm not sold on patch 3. Atm gem_* takes a > > > ridiculous amount of machine time to run, you're adding more stuff. Are > > > those tests really drastially better at catching races if we run them 10x > > > longer? Is there no better way to exercise the races (lots more machines, > > > maybe slower ones, which is atm impossible since it just takes way, way > > > too long and we need an entire farm just for one machine). > > > > New gem_sync subtests were suggested by Chris after I send the first > > version of the series with the goal of getting the same coverage in > > faster time. > > > > If you look at patch 4, it removes 18 * 150s of gem_sync subtests, and > > adds 4 * 150s. So in total we are 35 minutes better of in the best case, > > a bit less on smaller machines. > > > > This is just for gem_sync, I forgot what did the saving for the series > > add up to. 1-2 hours maybe? > > > > > Also not sure how much curating extended.testlist is worth it, just make > > > the testcases faster :-) Like, roughly 100x faster overall for gem_* > > > ... > > > > But meanwhile ack on that one too. > > > > In which one, 3, or 4, or both? > > Ping on the series - do we want to try easy runtime reduction via this way > or should I drop it? Go ahead. I'm still not happy with keeping tests around just because, but that's a larger topic. -Daniel -- 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] 18+ messages in thread
* Re: [RFC i-g-t 0/4] Redundant test pruning 2017-07-06 9:28 ` Daniel Vetter @ 2017-07-06 11:31 ` Tvrtko Ursulin 0 siblings, 0 replies; 18+ messages in thread From: Tvrtko Ursulin @ 2017-07-06 11:31 UTC (permalink / raw) To: Daniel Vetter; +Cc: Daniel Vetter, Intel-gfx On 06/07/2017 10:28, Daniel Vetter wrote: > On Wed, Jul 05, 2017 at 02:30:43PM +0100, Tvrtko Ursulin wrote: >> >> On 27/06/2017 09:02, Tvrtko Ursulin wrote: >>> On 26/06/2017 17:09, Daniel Vetter wrote: >>>> On Fri, Jun 23, 2017 at 12:31:39PM +0100, Tvrtko Ursulin wrote: >>>>> From: Tvrtko Ursulin <tvrtko.ursulin@intel.com> >>>>> >>>>> Small series which saves test execution time by removing the >>>>> redundant tests. >>>>> >>>>> Tvrtko Ursulin (4): >>>>> igt: Remove default from the engine list >>>>> gem_exec_basic: Exercise the default engine selection >>>>> gem_sync: Add all and store_all subtests >>>>> extended.testlist: Remove some test-subtest combinations >>>> >>>> Ack on patches 1&2, but I'm not sold on patch 3. Atm gem_* takes a >>>> ridiculous amount of machine time to run, you're adding more stuff. Are >>>> those tests really drastially better at catching races if we run them 10x >>>> longer? Is there no better way to exercise the races (lots more machines, >>>> maybe slower ones, which is atm impossible since it just takes way, way >>>> too long and we need an entire farm just for one machine). >>> >>> New gem_sync subtests were suggested by Chris after I send the first >>> version of the series with the goal of getting the same coverage in >>> faster time. >>> >>> If you look at patch 4, it removes 18 * 150s of gem_sync subtests, and >>> adds 4 * 150s. So in total we are 35 minutes better of in the best case, >>> a bit less on smaller machines. >>> >>> This is just for gem_sync, I forgot what did the saving for the series >>> add up to. 1-2 hours maybe? >>> >>>> Also not sure how much curating extended.testlist is worth it, just make >>>> the testcases faster :-) Like, roughly 100x faster overall for gem_* >>>> ... > >>>> But meanwhile ack on that one too. >>> >>> In which one, 3, or 4, or both? >> >> Ping on the series - do we want to try easy runtime reduction via this way >> or should I drop it? > > Go ahead. I'm still not happy with keeping tests around just because, but > that's a larger topic. Thanks, pushed. Regards, Tvrtko _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 18+ messages in thread
end of thread, other threads:[~2017-07-06 13:36 UTC | newest] Thread overview: 18+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2017-06-23 11:31 [RFC i-g-t 0/4] Redundant test pruning Tvrtko Ursulin 2017-06-23 11:31 ` [RFC i-g-t 1/4] igt: Remove default from the engine list Tvrtko Ursulin 2017-06-23 14:17 ` Szwichtenberg, Radoslaw 2017-06-23 14:35 ` Tvrtko Ursulin 2017-06-26 9:15 ` Szwichtenberg, Radoslaw 2017-07-06 13:33 ` [PATCH i-g-t v2 " Tvrtko Ursulin 2017-07-06 13:35 ` Chris Wilson 2017-06-23 11:31 ` [RFC i-g-t 2/4] gem_exec_basic: Exercise the default engine selection Tvrtko Ursulin 2017-06-23 11:31 ` [RFC i-g-t 3/4] gem_sync: Add all and store_all subtests Tvrtko Ursulin 2017-06-23 11:31 ` [RFC i-g-t 4/4] extended.testlist: Remove some test-subtest combinations Tvrtko Ursulin 2017-06-26 16:09 ` [RFC i-g-t 0/4] Redundant test pruning Daniel Vetter 2017-06-27 8:02 ` Tvrtko Ursulin 2017-06-27 9:14 ` Daniel Vetter 2017-06-27 11:46 ` Chris Wilson 2017-06-27 13:10 ` Daniel Vetter 2017-07-05 13:30 ` Tvrtko Ursulin 2017-07-06 9:28 ` Daniel Vetter 2017-07-06 11:31 ` Tvrtko Ursulin
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).