* [PATCH i-g-t 1/3] igt/gem_cpu_reloc: Check HW exists before attempting to use it @ 2018-05-17 8:23 Chris Wilson 2018-05-17 8:23 ` [PATCH i-g-t 2/3] igt/gem_blits: Check for blitter support before use Chris Wilson ` (5 more replies) 0 siblings, 6 replies; 14+ messages in thread From: Chris Wilson @ 2018-05-17 8:23 UTC (permalink / raw) To: intel-gfx Confirm we have the available HW before asserting it succeeds. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> --- tests/gem_cpu_reloc.c | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/gem_cpu_reloc.c b/tests/gem_cpu_reloc.c index 882c312d4..e3bbcd239 100644 --- a/tests/gem_cpu_reloc.c +++ b/tests/gem_cpu_reloc.c @@ -167,6 +167,7 @@ static void run_test(int fd, int count) use_blt = 0; if (intel_gen(noop) >= 6) use_blt = I915_EXEC_BLT; + gem_require_ring(fd, use_blt); if (intel_gen(noop) >= 8) { batch = gen8_batch; -- 2.17.0 _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH i-g-t 2/3] igt/gem_blits: Check for blitter support before use 2018-05-17 8:23 [PATCH i-g-t 1/3] igt/gem_cpu_reloc: Check HW exists before attempting to use it Chris Wilson @ 2018-05-17 8:23 ` Chris Wilson 2018-05-17 17:58 ` Antonio Argenziano 2018-05-17 8:23 ` [PATCH i-g-t 3/3] igt/kms_frontbuffer_tracking: Skip over IGT_DRAW_BLT when there's no BLT Chris Wilson ` (4 subsequent siblings) 5 siblings, 1 reply; 14+ messages in thread From: Chris Wilson @ 2018-05-17 8:23 UTC (permalink / raw) To: intel-gfx Not all HW supports XY blitter commands, so check before use. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> --- lib/i915/gem_submission.c | 16 ++++++++++++++++ lib/i915/gem_submission.h | 3 +++ tests/gem_linear_blits.c | 1 + tests/gem_tiled_blits.c | 1 + tests/gem_tiled_fence_blits.c | 1 + 5 files changed, 22 insertions(+) diff --git a/lib/i915/gem_submission.c b/lib/i915/gem_submission.c index 2fd460d5e..1d1adcf6f 100644 --- a/lib/i915/gem_submission.c +++ b/lib/i915/gem_submission.c @@ -229,3 +229,19 @@ void gem_test_engine(int i915, unsigned int engine) igt_assert(!is_wedged(i915)); close(i915); } + +bool gem_has_blitter(int i915) +{ + unsigned int blt; + + blt = 0; + if (intel_gen(intel_get_drm_devid(i915)) >= 6) + blt = I915_EXEC_BLT; + + return gem_has_ring(i915, blt); +} + +void gem_require_blitter(int i915) +{ + igt_require(gem_has_blitter(i915)); +} diff --git a/lib/i915/gem_submission.h b/lib/i915/gem_submission.h index f94eabb20..f2b18d9dc 100644 --- a/lib/i915/gem_submission.h +++ b/lib/i915/gem_submission.h @@ -33,6 +33,9 @@ bool gem_has_semaphores(int fd); bool gem_has_execlists(int fd); bool gem_has_guc_submission(int fd); +bool gem_has_blitter(int i915); +void gem_require_blitter(int i915); + void gem_test_engine(int fd, unsigned int engine); int gem_reopen_driver(int fd); diff --git a/tests/gem_linear_blits.c b/tests/gem_linear_blits.c index 8297416c0..7d05fa865 100644 --- a/tests/gem_linear_blits.c +++ b/tests/gem_linear_blits.c @@ -226,6 +226,7 @@ int main(int argc, char **argv) igt_fixture { fd = drm_open_driver(DRIVER_INTEL); igt_require_gem(fd); + gem_require_blitter(fd); } igt_subtest("basic") diff --git a/tests/gem_tiled_blits.c b/tests/gem_tiled_blits.c index a81226a15..0d472e3a1 100644 --- a/tests/gem_tiled_blits.c +++ b/tests/gem_tiled_blits.c @@ -203,6 +203,7 @@ int main(int argc, char **argv) igt_fixture { fd = drm_open_driver(DRIVER_INTEL); igt_require_gem(fd); + gem_require_blitter(fd); bufmgr = drm_intel_bufmgr_gem_init(fd, 4096); drm_intel_bufmgr_gem_enable_reuse(bufmgr); diff --git a/tests/gem_tiled_fence_blits.c b/tests/gem_tiled_fence_blits.c index 693e96cec..9ab58b5d6 100644 --- a/tests/gem_tiled_fence_blits.c +++ b/tests/gem_tiled_fence_blits.c @@ -176,6 +176,7 @@ igt_main igt_fixture { fd = drm_open_driver(DRIVER_INTEL); igt_require_gem(fd); + gem_require_blitter(fd); } igt_subtest("basic") { -- 2.17.0 _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [PATCH i-g-t 2/3] igt/gem_blits: Check for blitter support before use 2018-05-17 8:23 ` [PATCH i-g-t 2/3] igt/gem_blits: Check for blitter support before use Chris Wilson @ 2018-05-17 17:58 ` Antonio Argenziano 0 siblings, 0 replies; 14+ messages in thread From: Antonio Argenziano @ 2018-05-17 17:58 UTC (permalink / raw) To: Chris Wilson, intel-gfx On 17/05/18 01:23, Chris Wilson wrote: > Not all HW supports XY blitter commands, so check before use. > > Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> > --- > lib/i915/gem_submission.c | 16 ++++++++++++++++ > lib/i915/gem_submission.h | 3 +++ > tests/gem_linear_blits.c | 1 + > tests/gem_tiled_blits.c | 1 + > tests/gem_tiled_fence_blits.c | 1 + > 5 files changed, 22 insertions(+) > > diff --git a/lib/i915/gem_submission.c b/lib/i915/gem_submission.c > index 2fd460d5e..1d1adcf6f 100644 > --- a/lib/i915/gem_submission.c > +++ b/lib/i915/gem_submission.c > @@ -229,3 +229,19 @@ void gem_test_engine(int i915, unsigned int engine) > igt_assert(!is_wedged(i915)); > close(i915); > } > + > +bool gem_has_blitter(int i915) > +{ > + unsigned int blt; > + > + blt = 0; > + if (intel_gen(intel_get_drm_devid(i915)) >= 6) Looks like we have a "HAS_BLT_RING" macro we use in other places. Also, we have a gem_has_blt() function which is slightly different. Which is making things quite confusing for me... I wish I had a better name but I think we should add at least a comment to differentiate the two. With that: Reviewed-by: Antonio Argenziano <antonio.argenziano@intel.com> Thanks, Antonio > + blt = I915_EXEC_BLT; > + > + return gem_has_ring(i915, blt); > +} > + > +void gem_require_blitter(int i915) > +{ > + igt_require(gem_has_blitter(i915)); > +} > diff --git a/lib/i915/gem_submission.h b/lib/i915/gem_submission.h > index f94eabb20..f2b18d9dc 100644 > --- a/lib/i915/gem_submission.h > +++ b/lib/i915/gem_submission.h > @@ -33,6 +33,9 @@ bool gem_has_semaphores(int fd); > bool gem_has_execlists(int fd); > bool gem_has_guc_submission(int fd); > > +bool gem_has_blitter(int i915); > +void gem_require_blitter(int i915); > + > void gem_test_engine(int fd, unsigned int engine); > > int gem_reopen_driver(int fd); > diff --git a/tests/gem_linear_blits.c b/tests/gem_linear_blits.c > index 8297416c0..7d05fa865 100644 > --- a/tests/gem_linear_blits.c > +++ b/tests/gem_linear_blits.c > @@ -226,6 +226,7 @@ int main(int argc, char **argv) > igt_fixture { > fd = drm_open_driver(DRIVER_INTEL); > igt_require_gem(fd); > + gem_require_blitter(fd); > } > > igt_subtest("basic") > diff --git a/tests/gem_tiled_blits.c b/tests/gem_tiled_blits.c > index a81226a15..0d472e3a1 100644 > --- a/tests/gem_tiled_blits.c > +++ b/tests/gem_tiled_blits.c > @@ -203,6 +203,7 @@ int main(int argc, char **argv) > igt_fixture { > fd = drm_open_driver(DRIVER_INTEL); > igt_require_gem(fd); > + gem_require_blitter(fd); > > bufmgr = drm_intel_bufmgr_gem_init(fd, 4096); > drm_intel_bufmgr_gem_enable_reuse(bufmgr); > diff --git a/tests/gem_tiled_fence_blits.c b/tests/gem_tiled_fence_blits.c > index 693e96cec..9ab58b5d6 100644 > --- a/tests/gem_tiled_fence_blits.c > +++ b/tests/gem_tiled_fence_blits.c > @@ -176,6 +176,7 @@ igt_main > igt_fixture { > fd = drm_open_driver(DRIVER_INTEL); > igt_require_gem(fd); > + gem_require_blitter(fd); > } > > igt_subtest("basic") { > _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH i-g-t 3/3] igt/kms_frontbuffer_tracking: Skip over IGT_DRAW_BLT when there's no BLT 2018-05-17 8:23 [PATCH i-g-t 1/3] igt/gem_cpu_reloc: Check HW exists before attempting to use it Chris Wilson 2018-05-17 8:23 ` [PATCH i-g-t 2/3] igt/gem_blits: Check for blitter support before use Chris Wilson @ 2018-05-17 8:23 ` Chris Wilson 2018-05-17 9:56 ` [PATCH i-g-t] " Chris Wilson 2018-05-17 9:28 ` ✗ Fi.CI.BAT: failure for series starting with [1/3] igt/gem_cpu_reloc: Check HW exists before attempting to use it Patchwork ` (3 subsequent siblings) 5 siblings, 1 reply; 14+ messages in thread From: Chris Wilson @ 2018-05-17 8:23 UTC (permalink / raw) To: intel-gfx If the blitter is not available, we cannot use it as a source for dirty rectangles. We shall have to rely on the other engines to create GPU dirty instead. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> --- tests/kms_frontbuffer_tracking.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tests/kms_frontbuffer_tracking.c b/tests/kms_frontbuffer_tracking.c index 8754cc461..7ceffd502 100644 --- a/tests/kms_frontbuffer_tracking.c +++ b/tests/kms_frontbuffer_tracking.c @@ -3369,6 +3369,8 @@ static const char *flip_str(enum flip_type flip) for (t.plane = 0; t.plane < PLANE_COUNT; t.plane++) { \ for (t.fbs = 0; t.fbs < FBS_COUNT; t.fbs++) { \ for (t.method = 0; t.method < IGT_DRAW_METHOD_COUNT; t.method++) { \ + if (t.method == IGT_DRAW_BLT && !gem_has_blitter(drm.fd)) \ + continue; \ if (t.pipes == PIPE_SINGLE && t.screen == SCREEN_SCND) \ continue; \ if (t.screen == SCREEN_OFFSCREEN && t.plane != PLANE_PRI) \ -- 2.17.0 _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH i-g-t] igt/kms_frontbuffer_tracking: Skip over IGT_DRAW_BLT when there's no BLT 2018-05-17 8:23 ` [PATCH i-g-t 3/3] igt/kms_frontbuffer_tracking: Skip over IGT_DRAW_BLT when there's no BLT Chris Wilson @ 2018-05-17 9:56 ` Chris Wilson 2018-05-17 23:16 ` Antonio Argenziano 0 siblings, 1 reply; 14+ messages in thread From: Chris Wilson @ 2018-05-17 9:56 UTC (permalink / raw) To: intel-gfx If the blitter is not available, we cannot use it as a source for dirty rectangles. We shall have to rely on the other engines to create GPU dirty instead. v2: Try using lots of subgroup+fixtures Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> --- tests/kms_frontbuffer_tracking.c | 58 ++++++++++++++++++++++++++++++-- 1 file changed, 56 insertions(+), 2 deletions(-) diff --git a/tests/kms_frontbuffer_tracking.c b/tests/kms_frontbuffer_tracking.c index 8754cc461..64f253f00 100644 --- a/tests/kms_frontbuffer_tracking.c +++ b/tests/kms_frontbuffer_tracking.c @@ -3160,6 +3160,9 @@ static void basic_subtest(const struct test_mode *t) fb1 = params->primary.fb; for (r = 0, method = 0; method < IGT_DRAW_METHOD_COUNT; method++, r++) { + if (method == IGT_DRAW_BLT && ! gem_has_blitter(drm.fd)) + continue; + if (r == pattern->n_rects) { params->primary.fb = (params->primary.fb == fb1) ? &fb2 : fb1; @@ -3380,10 +3383,11 @@ static const char *flip_str(enum flip_type flip) continue; \ if (!opt.show_hidden && t.fbs == FBS_SHARED && \ (t.plane == PLANE_CUR || t.plane == PLANE_SPR)) \ - continue; + continue; \ + igt_subtest_group { -#define TEST_MODE_ITER_END } } } } } } +#define TEST_MODE_ITER_END } } } } } } } int main(int argc, char *argv[]) { @@ -3431,6 +3435,10 @@ int main(int argc, char *argv[]) } TEST_MODE_ITER_BEGIN(t) + igt_fixture { + if (t.method == IGT_DRAW_BLT) + gem_require_blitter(drm.fd); + } igt_subtest_f("%s-%s-%s-%s-%s-draw-%s", feature_str(t.feature), pipes_str(t.pipes), @@ -3447,6 +3455,11 @@ int main(int argc, char *argv[]) (!opt.show_hidden && t.method != IGT_DRAW_BLT)) continue; + igt_fixture { + if (t.method == IGT_DRAW_BLT) + gem_require_blitter(drm.fd); + } + for (t.flip = 0; t.flip < FLIP_COUNT; t.flip++) igt_subtest_f("%s-%s-%s-%s-%sflip-%s", feature_str(t.feature), @@ -3465,6 +3478,11 @@ int main(int argc, char *argv[]) (t.feature & FEATURE_FBC) == 0) continue; + igt_fixture { + if (t.method == IGT_DRAW_BLT) + gem_require_blitter(drm.fd); + } + igt_subtest_f("%s-%s-%s-fliptrack", feature_str(t.feature), pipes_str(t.pipes), @@ -3478,6 +3496,11 @@ int main(int argc, char *argv[]) t.plane == PLANE_PRI) continue; + igt_fixture { + if (t.method == IGT_DRAW_BLT) + gem_require_blitter(drm.fd); + } + igt_subtest_f("%s-%s-%s-%s-%s-move", feature_str(t.feature), pipes_str(t.pipes), @@ -3501,6 +3524,11 @@ int main(int argc, char *argv[]) t.plane != PLANE_SPR) continue; + igt_fixture { + if (t.method == IGT_DRAW_BLT) + gem_require_blitter(drm.fd); + } + igt_subtest_f("%s-%s-%s-%s-%s-fullscreen", feature_str(t.feature), pipes_str(t.pipes), @@ -3517,6 +3545,11 @@ int main(int argc, char *argv[]) (!opt.show_hidden && t.fbs != FBS_INDIVIDUAL)) continue; + igt_fixture { + if (t.method == IGT_DRAW_BLT) + gem_require_blitter(drm.fd); + } + igt_subtest_f("%s-%s-%s-%s-multidraw", feature_str(t.feature), pipes_str(t.pipes), @@ -3533,6 +3566,11 @@ int main(int argc, char *argv[]) t.method != IGT_DRAW_MMAP_GTT) continue; + igt_fixture { + if (t.method == IGT_DRAW_BLT) + gem_require_blitter(drm.fd); + } + igt_subtest_f("%s-farfromfence", feature_str(t.feature)) farfromfence_subtest(&t); TEST_MODE_ITER_END @@ -3544,6 +3582,11 @@ int main(int argc, char *argv[]) t.fbs != FBS_INDIVIDUAL) continue; + igt_fixture { + if (t.method == IGT_DRAW_BLT) + gem_require_blitter(drm.fd); + } + for (t.format = 0; t.format < FORMAT_COUNT; t.format++) { /* Skip what we already tested. */ if (t.format == FORMAT_DEFAULT) @@ -3563,6 +3606,12 @@ int main(int argc, char *argv[]) t.plane != PLANE_PRI || t.method != IGT_DRAW_BLT) continue; + + igt_fixture { + if (t.method == IGT_DRAW_BLT) + gem_require_blitter(drm.fd); + } + igt_subtest_f("%s-%s-scaledprimary", feature_str(t.feature), fbs_str(t.fbs)) @@ -3577,6 +3626,11 @@ int main(int argc, char *argv[]) t.method != IGT_DRAW_BLT) continue; + igt_fixture { + if (t.method == IGT_DRAW_BLT) + gem_require_blitter(drm.fd); + } + igt_subtest_f("%s-modesetfrombusy", feature_str(t.feature)) modesetfrombusy_subtest(&t); -- 2.17.0 _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [PATCH i-g-t] igt/kms_frontbuffer_tracking: Skip over IGT_DRAW_BLT when there's no BLT 2018-05-17 9:56 ` [PATCH i-g-t] " Chris Wilson @ 2018-05-17 23:16 ` Antonio Argenziano 0 siblings, 0 replies; 14+ messages in thread From: Antonio Argenziano @ 2018-05-17 23:16 UTC (permalink / raw) To: Chris Wilson, intel-gfx On 17/05/18 02:56, Chris Wilson wrote: > If the blitter is not available, we cannot use it as a source for dirty > rectangles. We shall have to rely on the other engines to create GPU > dirty instead. > > v2: Try using lots of subgroup+fixtures > > Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> > TEST_MODE_ITER_BEGIN(t) > + igt_fixture { > + if (t.method == IGT_DRAW_BLT) > + gem_require_blitter(drm.fd); > + } Put the require inside the subtest so to leave a constant sub-tests list. Unless I got lost in the nested macros ;). Thanks, Antonio > igt_subtest_f("%s-%s-%s-%s-%s-draw-%s", > feature_str(t.feature), > pipes_str(t.pipes), _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 14+ messages in thread
* ✗ Fi.CI.BAT: failure for series starting with [1/3] igt/gem_cpu_reloc: Check HW exists before attempting to use it 2018-05-17 8:23 [PATCH i-g-t 1/3] igt/gem_cpu_reloc: Check HW exists before attempting to use it Chris Wilson 2018-05-17 8:23 ` [PATCH i-g-t 2/3] igt/gem_blits: Check for blitter support before use Chris Wilson 2018-05-17 8:23 ` [PATCH i-g-t 3/3] igt/kms_frontbuffer_tracking: Skip over IGT_DRAW_BLT when there's no BLT Chris Wilson @ 2018-05-17 9:28 ` Patchwork 2018-05-17 10:38 ` ✓ Fi.CI.BAT: success for series starting with [1/3] igt/gem_cpu_reloc: Check HW exists before attempting to use it (rev2) Patchwork ` (2 subsequent siblings) 5 siblings, 0 replies; 14+ messages in thread From: Patchwork @ 2018-05-17 9:28 UTC (permalink / raw) To: Chris Wilson; +Cc: intel-gfx == Series Details == Series: series starting with [1/3] igt/gem_cpu_reloc: Check HW exists before attempting to use it URL : https://patchwork.freedesktop.org/series/43310/ State : failure == Summary == IGT patchset build failed on latest successful build eccae1360d6d01e73c6af2bd97122cef708207ef igt: Drop Intel from the name in docs and paths 245/257 testcase check: amdgpu/amd_cs_nop OK 0.08 s 246/257 testcase check: amdgpu/amd_prime OK 0.07 s 247/257 assembler: test/mov OK 0.07 s 248/257 assembler: test/frc OK 0.04 s 249/257 assembler: test/regtype OK 0.06 s 250/257 assembler: test/rndd OK 0.04 s 251/257 assembler: test/rndu OK 0.03 s 252/257 assembler: test/rnde OK 0.01 s 253/257 assembler: test/rnde-intsrc OK 0.05 s 254/257 assembler: test/rndz OK 0.04 s 255/257 assembler: test/lzd OK 0.03 s 256/257 assembler: test/not OK 0.03 s 257/257 assembler: test/immediate OK 0.03 s OK: 256 FAIL: 1 SKIP: 0 TIMEOUT: 0 The output from the failed tests: 183/257 testcase check: kms_frontbuffer_tracking FAIL 0.27 s --- command --- /home/cidrm/igt-gpu-tools/tests/igt_command_line.sh kms_frontbuffer_tracking --- stdout --- tests/kms_frontbuffer_tracking: Checking invalid option handling... Checking valid option handling... Checking subtest enumeration... FAIL: tests/kms_frontbuffer_tracking --- stderr --- (kms_frontbuffer_tracking:32435) intel_chipset-CRITICAL: Test assertion failure function intel_get_drm_devid, file ../lib/intel_chipset.c:132: (kms_frontbuffer_tracking:32435) intel_chipset-CRITICAL: Failed assertion: is_i915_device(fd) (kms_frontbuffer_tracking:32435) intel_chipset-CRITICAL: Last errno: 25, Inappropriate ioctl for device Test kms_frontbuffer_tracking failed. **** DEBUG **** (kms_frontbuffer_tracking:32435) intel_chipset-CRITICAL: Test assertion failure function intel_get_drm_devid, file ../lib/intel_chipset.c:132: (kms_frontbuffer_tracking:32435) intel_chipset-CRITICAL: Failed assertion: is_i915_device(fd) (kms_frontbuffer_tracking:32435) intel_chipset-CRITICAL: Last errno: 25, Inappropriate ioctl for device **** END **** kms_frontbuffer_tracking: ../lib/igt_core.c:1129: igt_fail: Assertion `igt_can_fail()' failed. Received signal SIGABRT. ------- Full log written to /home/cidrm/igt-gpu-tools/build/meson-logs/testlog.txt FAILED: meson-test /usr/bin/python3 -u /usr/share/meson/meson test --no-rebuild --print-errorlogs ninja: build stopped: subcommand failed. _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 14+ messages in thread
* ✓ Fi.CI.BAT: success for series starting with [1/3] igt/gem_cpu_reloc: Check HW exists before attempting to use it (rev2) 2018-05-17 8:23 [PATCH i-g-t 1/3] igt/gem_cpu_reloc: Check HW exists before attempting to use it Chris Wilson ` (2 preceding siblings ...) 2018-05-17 9:28 ` ✗ Fi.CI.BAT: failure for series starting with [1/3] igt/gem_cpu_reloc: Check HW exists before attempting to use it Patchwork @ 2018-05-17 10:38 ` Patchwork 2018-05-17 13:43 ` ✓ Fi.CI.IGT: " Patchwork 2018-05-17 15:08 ` [PATCH i-g-t 1/3] igt/gem_cpu_reloc: Check HW exists before attempting to use it Antonio Argenziano 5 siblings, 0 replies; 14+ messages in thread From: Patchwork @ 2018-05-17 10:38 UTC (permalink / raw) To: Chris Wilson; +Cc: intel-gfx == Series Details == Series: series starting with [1/3] igt/gem_cpu_reloc: Check HW exists before attempting to use it (rev2) URL : https://patchwork.freedesktop.org/series/43310/ State : success == Summary == = CI Bug Log - changes from CI_DRM_4193 -> IGTPW_1372 = == Summary - WARNING == Minor unknown changes coming with IGTPW_1372 need to be verified manually. If you think the reported changes have nothing to do with the changes introduced in IGTPW_1372, please notify your bug team to allow them to document this new failure mode, which will reduce false positives in CI. External URL: https://patchwork.freedesktop.org/api/1.0/series/43310/revisions/2/mbox/ == Possible new issues == Here are the unknown changes that may have been introduced in IGTPW_1372: === IGT changes === ==== Warnings ==== igt@gem_exec_gttfill@basic: fi-pnv-d510: SKIP -> PASS == Known issues == Here are the changes found in IGTPW_1372 that come from known issues: === IGT changes === ==== Issues hit ==== igt@kms_pipe_crc_basic@read-crc-pipe-b-frame-sequence: fi-cnl-psr: PASS -> FAIL (fdo#103481) igt@kms_pipe_crc_basic@suspend-read-crc-pipe-b: fi-skl-guc: PASS -> FAIL (fdo#103191, fdo#104724) ==== Possible fixes ==== igt@kms_pipe_crc_basic@nonblocking-crc-pipe-a-frame-sequence: fi-cfl-s3: FAIL (fdo#103481) -> PASS +1 igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a: fi-cnl-psr: DMESG-WARN (fdo#104951) -> PASS fdo#103191 https://bugs.freedesktop.org/show_bug.cgi?id=103191 fdo#103481 https://bugs.freedesktop.org/show_bug.cgi?id=103481 fdo#104724 https://bugs.freedesktop.org/show_bug.cgi?id=104724 fdo#104951 https://bugs.freedesktop.org/show_bug.cgi?id=104951 == Participating hosts (41 -> 37) == Additional (1): fi-snb-2520m Missing (5): fi-ctg-p8600 fi-ilk-m540 fi-byt-squawks fi-bsw-cyan fi-skl-6700hq == Build changes == * IGT: IGT_4485 -> IGTPW_1372 * Piglit: piglit_4485 -> piglit_4487 CI_DRM_4193: 9322e3903ce6c89bde0c24877fe730b808427caf @ git://anongit.freedesktop.org/gfx-ci/linux IGTPW_1372: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_1372/ IGT_4485: eccae1360d6d01e73c6af2bd97122cef708207ef @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools piglit_4485: 62ef6b0db8967e7021fd3e0b57d03ff164b984fe @ git://anongit.freedesktop.org/piglit piglit_4487: 6ab75f7eb5e1dccbb773e1739beeb2d7cbd6ad0d @ git://anongit.freedesktop.org/piglit == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_1372/issues.html _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 14+ messages in thread
* ✓ Fi.CI.IGT: success for series starting with [1/3] igt/gem_cpu_reloc: Check HW exists before attempting to use it (rev2) 2018-05-17 8:23 [PATCH i-g-t 1/3] igt/gem_cpu_reloc: Check HW exists before attempting to use it Chris Wilson ` (3 preceding siblings ...) 2018-05-17 10:38 ` ✓ Fi.CI.BAT: success for series starting with [1/3] igt/gem_cpu_reloc: Check HW exists before attempting to use it (rev2) Patchwork @ 2018-05-17 13:43 ` Patchwork 2018-05-17 15:08 ` [PATCH i-g-t 1/3] igt/gem_cpu_reloc: Check HW exists before attempting to use it Antonio Argenziano 5 siblings, 0 replies; 14+ messages in thread From: Patchwork @ 2018-05-17 13:43 UTC (permalink / raw) To: Chris Wilson; +Cc: intel-gfx == Series Details == Series: series starting with [1/3] igt/gem_cpu_reloc: Check HW exists before attempting to use it (rev2) URL : https://patchwork.freedesktop.org/series/43310/ State : success == Summary == = CI Bug Log - changes from IGT_4485_full -> IGTPW_1372_full = == Summary - WARNING == Minor unknown changes coming with IGTPW_1372_full need to be verified manually. If you think the reported changes have nothing to do with the changes introduced in IGTPW_1372_full, please notify your bug team to allow them to document this new failure mode, which will reduce false positives in CI. External URL: https://patchwork.freedesktop.org/api/1.0/series/43310/revisions/2/mbox/ == Possible new issues == Here are the unknown changes that may have been introduced in IGTPW_1372_full: === IGT changes === ==== Warnings ==== igt@gem_exec_schedule@deep-bsd2: shard-kbl: SKIP -> PASS igt@gem_mocs_settings@mocs-rc6-vebox: shard-kbl: PASS -> SKIP +1 igt@kms_cursor_crc@cursor-128x128-random: shard-snb: SKIP -> PASS == Known issues == Here are the changes found in IGTPW_1372_full that come from known issues: === IGT changes === ==== Issues hit ==== igt@drv_selftest@mock_sanitycheck: shard-glk: PASS -> DMESG-WARN (fdo#106525) igt@gem_eio@in-flight-1us: shard-apl: PASS -> DMESG-WARN (fdo#106523) +2 igt@gem_eio@in-flight-suspend: shard-glk: PASS -> DMESG-WARN (fdo#106523) +4 igt@gem_eio@throttle: shard-snb: PASS -> DMESG-WARN (fdo#106523) +2 igt@gem_eio@unwedge-stress: shard-kbl: PASS -> DMESG-WARN (fdo#106523) igt@gem_eio@wait-wedge-1us: shard-hsw: PASS -> DMESG-WARN (fdo#106523) +4 igt@kms_ccs@pipe-b-missing-ccs-buffer: shard-kbl: PASS -> DMESG-WARN (fdo#105602, fdo#103558) +6 igt@kms_cursor_legacy@2x-long-flip-vs-cursor-atomic: shard-hsw: PASS -> FAIL (fdo#104873) igt@kms_flip@2x-flip-vs-expired-vblank: shard-hsw: PASS -> FAIL (fdo#102887) igt@kms_flip_tiling@flip-y-tiled: shard-glk: PASS -> FAIL (fdo#104724) igt@kms_rotation_crc@primary-rotation-180: shard-snb: PASS -> FAIL (fdo#103925, fdo#104724) igt@kms_setmode@basic: shard-apl: PASS -> FAIL (fdo#99912) ==== Possible fixes ==== igt@gem_ctx_isolation@vecs0-s3: shard-kbl: INCOMPLETE (fdo#103665) -> PASS +1 igt@gem_eio@in-flight-contexts-10ms: shard-snb: DMESG-WARN (fdo#106523) -> PASS +3 igt@gem_eio@in-flight-contexts-immediate: shard-hsw: DMESG-WARN (fdo#106523) -> PASS +5 igt@gem_eio@in-flight-immediate: shard-apl: DMESG-WARN (fdo#106523) -> PASS +4 igt@gem_eio@in-flight-internal-1us: shard-glk: DMESG-WARN (fdo#106523) -> PASS +4 igt@gem_eio@suspend: shard-kbl: DMESG-WARN (fdo#106523) -> PASS +3 igt@kms_atomic_transition@1x-modeset-transitions-nonblocking: shard-glk: FAIL (fdo#105703) -> PASS igt@kms_cursor_legacy@2x-nonblocking-modeset-vs-cursor-atomic: shard-glk: FAIL (fdo#106509) -> PASS igt@kms_flip@2x-plain-flip-ts-check-interruptible: shard-glk: FAIL (fdo#100368) -> PASS igt@kms_flip@flip-vs-expired-vblank-interruptible: shard-glk: FAIL (fdo#105707) -> PASS +1 igt@kms_flip_tiling@flip-to-x-tiled: shard-glk: FAIL (fdo#104724) -> PASS igt@perf_pmu@idle-vcs0: shard-glk: INCOMPLETE (fdo#103359, k.org#198133) -> PASS fdo#100368 https://bugs.freedesktop.org/show_bug.cgi?id=100368 fdo#102887 https://bugs.freedesktop.org/show_bug.cgi?id=102887 fdo#103359 https://bugs.freedesktop.org/show_bug.cgi?id=103359 fdo#103558 https://bugs.freedesktop.org/show_bug.cgi?id=103558 fdo#103665 https://bugs.freedesktop.org/show_bug.cgi?id=103665 fdo#103925 https://bugs.freedesktop.org/show_bug.cgi?id=103925 fdo#104724 https://bugs.freedesktop.org/show_bug.cgi?id=104724 fdo#104873 https://bugs.freedesktop.org/show_bug.cgi?id=104873 fdo#105602 https://bugs.freedesktop.org/show_bug.cgi?id=105602 fdo#105703 https://bugs.freedesktop.org/show_bug.cgi?id=105703 fdo#105707 https://bugs.freedesktop.org/show_bug.cgi?id=105707 fdo#106509 https://bugs.freedesktop.org/show_bug.cgi?id=106509 fdo#106523 https://bugs.freedesktop.org/show_bug.cgi?id=106523 fdo#106525 https://bugs.freedesktop.org/show_bug.cgi?id=106525 fdo#99912 https://bugs.freedesktop.org/show_bug.cgi?id=99912 k.org#198133 https://bugzilla.kernel.org/show_bug.cgi?id=198133 == Participating hosts (5 -> 5) == No changes in participating hosts == Build changes == * IGT: IGT_4485 -> IGTPW_1372 * Linux: CI_DRM_4191 -> CI_DRM_4193 * Piglit: piglit_4485 -> piglit_4487 CI_DRM_4191: 70daebf1a83c2ed6eff118d2a2806086c0c89027 @ git://anongit.freedesktop.org/gfx-ci/linux CI_DRM_4193: 9322e3903ce6c89bde0c24877fe730b808427caf @ git://anongit.freedesktop.org/gfx-ci/linux IGTPW_1372: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_1372/ IGT_4485: eccae1360d6d01e73c6af2bd97122cef708207ef @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools piglit_4485: 62ef6b0db8967e7021fd3e0b57d03ff164b984fe @ git://anongit.freedesktop.org/piglit piglit_4487: 6ab75f7eb5e1dccbb773e1739beeb2d7cbd6ad0d @ git://anongit.freedesktop.org/piglit == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_1372/shards.html _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH i-g-t 1/3] igt/gem_cpu_reloc: Check HW exists before attempting to use it 2018-05-17 8:23 [PATCH i-g-t 1/3] igt/gem_cpu_reloc: Check HW exists before attempting to use it Chris Wilson ` (4 preceding siblings ...) 2018-05-17 13:43 ` ✓ Fi.CI.IGT: " Patchwork @ 2018-05-17 15:08 ` Antonio Argenziano 2018-05-17 15:37 ` Chris Wilson 5 siblings, 1 reply; 14+ messages in thread From: Antonio Argenziano @ 2018-05-17 15:08 UTC (permalink / raw) To: Chris Wilson, intel-gfx On 17/05/18 01:23, Chris Wilson wrote: > Confirm we have the available HW before asserting it succeeds. > > Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> > --- > tests/gem_cpu_reloc.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/tests/gem_cpu_reloc.c b/tests/gem_cpu_reloc.c > index 882c312d4..e3bbcd239 100644 > --- a/tests/gem_cpu_reloc.c > +++ b/tests/gem_cpu_reloc.c > @@ -167,6 +167,7 @@ static void run_test(int fd, int count) > use_blt = 0; Is this^ meant to be EXEC_DEFAULT? > if (intel_gen(noop) >= 6) > use_blt = I915_EXEC_BLT; > + gem_require_ring(fd, use_blt); Are any gens 6+ that do not have a BLT ring? if that is the case shouldn't we use '0' like we do for 5- gens? Thanks, Antonio > > if (intel_gen(noop) >= 8) { > batch = gen8_batch; > _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH i-g-t 1/3] igt/gem_cpu_reloc: Check HW exists before attempting to use it 2018-05-17 15:08 ` [PATCH i-g-t 1/3] igt/gem_cpu_reloc: Check HW exists before attempting to use it Antonio Argenziano @ 2018-05-17 15:37 ` Chris Wilson 2018-05-17 16:29 ` Antonio Argenziano 0 siblings, 1 reply; 14+ messages in thread From: Chris Wilson @ 2018-05-17 15:37 UTC (permalink / raw) To: Antonio Argenziano, intel-gfx Quoting Antonio Argenziano (2018-05-17 16:08:14) > > > On 17/05/18 01:23, Chris Wilson wrote: > > Confirm we have the available HW before asserting it succeeds. > > > > Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> > > --- > > tests/gem_cpu_reloc.c | 1 + > > 1 file changed, 1 insertion(+) > > > > diff --git a/tests/gem_cpu_reloc.c b/tests/gem_cpu_reloc.c > > index 882c312d4..e3bbcd239 100644 > > --- a/tests/gem_cpu_reloc.c > > +++ b/tests/gem_cpu_reloc.c > > @@ -167,6 +167,7 @@ static void run_test(int fd, int count) > > use_blt = 0; > > Is this^ meant to be EXEC_DEFAULT? Depends on your viewpoint. EXEC_DEFAULT is zero. > > if (intel_gen(noop) >= 6) > > use_blt = I915_EXEC_BLT; > > + gem_require_ring(fd, use_blt); > > Are any gens 6+ that do not have a BLT ring? if that is the case > shouldn't we use '0' like we do for 5- gens? No, it has to match the engine for which the blitter commands are valid. If that engine does not exist, there is no alternative except to rewrite the test not to use those commands. If there was, it indeed would be included in the selection above. -Chris _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH i-g-t 1/3] igt/gem_cpu_reloc: Check HW exists before attempting to use it 2018-05-17 15:37 ` Chris Wilson @ 2018-05-17 16:29 ` Antonio Argenziano 2018-05-17 16:52 ` Chris Wilson 0 siblings, 1 reply; 14+ messages in thread From: Antonio Argenziano @ 2018-05-17 16:29 UTC (permalink / raw) To: Chris Wilson, intel-gfx On 17/05/18 08:37, Chris Wilson wrote: > Quoting Antonio Argenziano (2018-05-17 16:08:14) >> >> >> On 17/05/18 01:23, Chris Wilson wrote: >>> Confirm we have the available HW before asserting it succeeds. >>> >>> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> >>> --- >>> tests/gem_cpu_reloc.c | 1 + >>> 1 file changed, 1 insertion(+) >>> >>> diff --git a/tests/gem_cpu_reloc.c b/tests/gem_cpu_reloc.c >>> index 882c312d4..e3bbcd239 100644 >>> --- a/tests/gem_cpu_reloc.c >>> +++ b/tests/gem_cpu_reloc.c >>> @@ -167,6 +167,7 @@ static void run_test(int fd, int count) >>> use_blt = 0; >> >> Is this^ meant to be EXEC_DEFAULT? > > Depends on your viewpoint. EXEC_DEFAULT is zero. Just wandering if it should enforce EXEC_RENDER. Which I think is what we want for gen 5-. > >>> if (intel_gen(noop) >= 6) >>> use_blt = I915_EXEC_BLT; >>> + gem_require_ring(fd, use_blt); >> >> Are any gens 6+ that do not have a BLT ring? if that is the case >> shouldn't we use '0' like we do for 5- gens? > > No, it has to match the engine for which the blitter commands are valid. If > that engine does not exist, there is no alternative except to rewrite the > test not to use those commands. If there was, it indeed would be included > in the selection above. So, just to wrap my head around it, the commands we are talking about here are allowed on render for gen5- but only on blitter on 6+. Right? Thanks, Antonio > -Chris > _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH i-g-t 1/3] igt/gem_cpu_reloc: Check HW exists before attempting to use it 2018-05-17 16:29 ` Antonio Argenziano @ 2018-05-17 16:52 ` Chris Wilson 2018-05-17 17:01 ` Antonio Argenziano 0 siblings, 1 reply; 14+ messages in thread From: Chris Wilson @ 2018-05-17 16:52 UTC (permalink / raw) To: Antonio Argenziano, intel-gfx Quoting Antonio Argenziano (2018-05-17 17:29:26) > > > On 17/05/18 08:37, Chris Wilson wrote: > > Quoting Antonio Argenziano (2018-05-17 16:08:14) > >> > >> > >> On 17/05/18 01:23, Chris Wilson wrote: > >>> Confirm we have the available HW before asserting it succeeds. > >>> > >>> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> > >>> --- > >>> tests/gem_cpu_reloc.c | 1 + > >>> 1 file changed, 1 insertion(+) > >>> > >>> diff --git a/tests/gem_cpu_reloc.c b/tests/gem_cpu_reloc.c > >>> index 882c312d4..e3bbcd239 100644 > >>> --- a/tests/gem_cpu_reloc.c > >>> +++ b/tests/gem_cpu_reloc.c > >>> @@ -167,6 +167,7 @@ static void run_test(int fd, int count) > >>> use_blt = 0; > >> > >> Is this^ meant to be EXEC_DEFAULT? > > > > Depends on your viewpoint. EXEC_DEFAULT is zero. > > Just wandering if it should enforce EXEC_RENDER. Which I think is what > we want for gen 5-. Not really. It just wants the default mixed ring. You definitely don't want to suggest sending blitter commands down the 3D pipe, that would be even more confusing. > >>> if (intel_gen(noop) >= 6) > >>> use_blt = I915_EXEC_BLT; > >>> + gem_require_ring(fd, use_blt); > >> > >> Are any gens 6+ that do not have a BLT ring? if that is the case > >> shouldn't we use '0' like we do for 5- gens? > > > > No, it has to match the engine for which the blitter commands are valid. If > > that engine does not exist, there is no alternative except to rewrite the > > test not to use those commands. If there was, it indeed would be included > > in the selection above. > > So, just to wrap my head around it, the commands we are talking about > here are allowed on render for gen5- but only on blitter on 6+. Right? There is no render for gen5- either. There is a universal ringbuffer that can handle multiple different client commands, and on the odd machine a bit stream decoder. -Chris _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH i-g-t 1/3] igt/gem_cpu_reloc: Check HW exists before attempting to use it 2018-05-17 16:52 ` Chris Wilson @ 2018-05-17 17:01 ` Antonio Argenziano 0 siblings, 0 replies; 14+ messages in thread From: Antonio Argenziano @ 2018-05-17 17:01 UTC (permalink / raw) To: Chris Wilson, intel-gfx On 17/05/18 09:52, Chris Wilson wrote: > Quoting Antonio Argenziano (2018-05-17 17:29:26) >> >> >> On 17/05/18 08:37, Chris Wilson wrote: >>> Quoting Antonio Argenziano (2018-05-17 16:08:14) >>>> >>>> >>>> On 17/05/18 01:23, Chris Wilson wrote: >>>>> Confirm we have the available HW before asserting it succeeds. >>>>> >>>>> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> >>>>> --- >>>>> tests/gem_cpu_reloc.c | 1 + >>>>> 1 file changed, 1 insertion(+) >>>>> >>>>> diff --git a/tests/gem_cpu_reloc.c b/tests/gem_cpu_reloc.c >>>>> index 882c312d4..e3bbcd239 100644 >>>>> --- a/tests/gem_cpu_reloc.c >>>>> +++ b/tests/gem_cpu_reloc.c >>>>> @@ -167,6 +167,7 @@ static void run_test(int fd, int count) >>>>> use_blt = 0; >>>> >>>> Is this^ meant to be EXEC_DEFAULT? >>> >>> Depends on your viewpoint. EXEC_DEFAULT is zero. >> >> Just wandering if it should enforce EXEC_RENDER. Which I think is what >> we want for gen 5-. > > Not really. It just wants the default mixed ring. You definitely don't > want to suggest sending blitter commands down the 3D pipe, that would be > even more confusing. The comment below answers this question as well. > >>>>> if (intel_gen(noop) >= 6) >>>>> use_blt = I915_EXEC_BLT; >>>>> + gem_require_ring(fd, use_blt); >>>> >>>> Are any gens 6+ that do not have a BLT ring? if that is the case >>>> shouldn't we use '0' like we do for 5- gens? >>> >>> No, it has to match the engine for which the blitter commands are valid. If >>> that engine does not exist, there is no alternative except to rewrite the >>> test not to use those commands. If there was, it indeed would be included >>> in the selection above. >> >> So, just to wrap my head around it, the commands we are talking about >> here are allowed on render for gen5- but only on blitter on 6+. Right? > > There is no render for gen5- either. There is a universal ringbuffer > that can handle multiple different client commands, and on the odd > machine a bit stream decoder. I see, I wasn't making any sense then :). Reviewed-by: Antonio Argenziano <antonio.argenziano@intel.com> > -Chris > _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2018-05-17 23:16 UTC | newest] Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2018-05-17 8:23 [PATCH i-g-t 1/3] igt/gem_cpu_reloc: Check HW exists before attempting to use it Chris Wilson 2018-05-17 8:23 ` [PATCH i-g-t 2/3] igt/gem_blits: Check for blitter support before use Chris Wilson 2018-05-17 17:58 ` Antonio Argenziano 2018-05-17 8:23 ` [PATCH i-g-t 3/3] igt/kms_frontbuffer_tracking: Skip over IGT_DRAW_BLT when there's no BLT Chris Wilson 2018-05-17 9:56 ` [PATCH i-g-t] " Chris Wilson 2018-05-17 23:16 ` Antonio Argenziano 2018-05-17 9:28 ` ✗ Fi.CI.BAT: failure for series starting with [1/3] igt/gem_cpu_reloc: Check HW exists before attempting to use it Patchwork 2018-05-17 10:38 ` ✓ Fi.CI.BAT: success for series starting with [1/3] igt/gem_cpu_reloc: Check HW exists before attempting to use it (rev2) Patchwork 2018-05-17 13:43 ` ✓ Fi.CI.IGT: " Patchwork 2018-05-17 15:08 ` [PATCH i-g-t 1/3] igt/gem_cpu_reloc: Check HW exists before attempting to use it Antonio Argenziano 2018-05-17 15:37 ` Chris Wilson 2018-05-17 16:29 ` Antonio Argenziano 2018-05-17 16:52 ` Chris Wilson 2018-05-17 17:01 ` Antonio Argenziano
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.