* [igt-dev] [PATCH i-g-t 0/2] Keep tests working without relocations 2 @ 2021-08-03 7:38 Andrzej Turko 2021-08-03 7:38 ` [igt-dev] [PATCH i-g-t 1/2] tests/i915/gem_streaming_writes: Support gens without relocations Andrzej Turko ` (4 more replies) 0 siblings, 5 replies; 8+ messages in thread From: Andrzej Turko @ 2021-08-03 7:38 UTC (permalink / raw) To: igt-dev; +Cc: Andrzej Turko, Zbigniew Kempczyński With relocations disabled for newer generations the addresses of buffer objects in memory need to be known in advance and, hence, assigned in userspace. If relocations are not supported, the tests now use the intel allocator to find offsets and update the contents of batches correspondingly. Cc: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com> Andrzej Turko (2): tests/i915/gem_streaming_writes: Support gens without relocations tests/i915/gem_exec_lut_handle: Require relocation support tests/i915/gem_exec_lut_handle.c | 1 + tests/i915/gem_streaming_writes.c | 151 ++++++++++++++++++++---------- 2 files changed, 101 insertions(+), 51 deletions(-) -- 2.25.1 ^ permalink raw reply [flat|nested] 8+ messages in thread
* [igt-dev] [PATCH i-g-t 1/2] tests/i915/gem_streaming_writes: Support gens without relocations 2021-08-03 7:38 [igt-dev] [PATCH i-g-t 0/2] Keep tests working without relocations 2 Andrzej Turko @ 2021-08-03 7:38 ` Andrzej Turko 2021-08-03 7:38 ` [igt-dev] [PATCH i-g-t 2/2] tests/i915/gem_exec_lut_handle: Require relocation support Andrzej Turko ` (3 subsequent siblings) 4 siblings, 0 replies; 8+ messages in thread From: Andrzej Turko @ 2021-08-03 7:38 UTC (permalink / raw) To: igt-dev; +Cc: Andrzej Turko, Zbigniew Kempczyński Use the allocator to assign offsets to gem objects. This allows to completely avoid relocations which is necessary on newer generations. Signed-off-by: Andrzej Turko <andrzej.turko@linux.intel.com> Cc: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com> --- tests/i915/gem_streaming_writes.c | 151 ++++++++++++++++++++---------- 1 file changed, 100 insertions(+), 51 deletions(-) diff --git a/tests/i915/gem_streaming_writes.c b/tests/i915/gem_streaming_writes.c index c104792bd..806f8ba72 100644 --- a/tests/i915/gem_streaming_writes.c +++ b/tests/i915/gem_streaming_writes.c @@ -41,6 +41,7 @@ #include "i915/gem_create.h" #include "igt.h" +#define ALIGNMENT (1 << 24) #define OBJECT_SIZE 1024*1024 #define CHUNK_SIZE 32 @@ -62,12 +63,13 @@ IGT_TEST_DESCRIPTION("Test of streaming writes into active GPU sources"); static void test_streaming(int fd, int mode, int sync) { - const int has_64bit_reloc = intel_gen(intel_get_drm_devid(fd)) >= 8; + const bool has_64bit_addresses = intel_gen(intel_get_drm_devid(fd)) >= 8; + const bool do_relocs = gem_has_relocations(fd); struct drm_i915_gem_execbuffer2 execbuf; struct drm_i915_gem_exec_object2 exec[3]; struct drm_i915_gem_relocation_entry reloc[128]; uint32_t tmp[] = { MI_BATCH_BUFFER_END }; - uint64_t __src_offset, __dst_offset; + uint64_t __src_offset, __dst_offset, ahnd; uint32_t *s, *d; uint32_t offset; struct { @@ -76,9 +78,19 @@ static void test_streaming(int fd, int mode, int sync) } *batch; int i, n; + ahnd = intel_allocator_open(fd, 0, INTEL_ALLOCATOR_SIMPLE); + memset(exec, 0, sizeof(exec)); exec[SRC].handle = gem_create(fd, OBJECT_SIZE); + exec[SRC].offset = intel_allocator_alloc(ahnd, exec[SRC].handle, + OBJECT_SIZE, ALIGNMENT); + exec[SRC].offset = CANONICAL(exec[SRC].offset); + exec[SRC].flags = EXEC_OBJECT_SUPPORTS_48B_ADDRESS; exec[DST].handle = gem_create(fd, OBJECT_SIZE); + exec[DST].offset = intel_allocator_alloc(ahnd, exec[DST].handle, + OBJECT_SIZE, ALIGNMENT); + exec[DST].offset = CANONICAL(exec[DST].offset); + exec[DST].flags = EXEC_OBJECT_SUPPORTS_48B_ADDRESS; switch (mode) { case 0: /* cpu/snoop */ @@ -112,30 +124,37 @@ static void test_streaming(int fd, int mode, int sync) __src_offset = src_offset; __dst_offset = dst_offset; - memset(reloc, 0, sizeof(reloc)); - for (i = 0; i < 64; i++) { - reloc[2*i+0].offset = 64*i + 4 * sizeof(uint32_t); - reloc[2*i+0].delta = 0; - reloc[2*i+0].target_handle = execbuf.flags & I915_EXEC_HANDLE_LUT ? DST : dst; - reloc[2*i+0].presumed_offset = dst_offset; - reloc[2*i+0].read_domains = I915_GEM_DOMAIN_RENDER; - reloc[2*i+0].write_domain = I915_GEM_DOMAIN_RENDER; - - reloc[2*i+1].offset = 64*i + 7 * sizeof(uint32_t); - if (has_64bit_reloc) - reloc[2*i+1].offset += sizeof(uint32_t); - reloc[2*i+1].delta = 0; - reloc[2*i+1].target_handle = execbuf.flags & I915_EXEC_HANDLE_LUT ? SRC : src; - reloc[2*i+1].presumed_offset = src_offset; - reloc[2*i+1].read_domains = I915_GEM_DOMAIN_RENDER; - reloc[2*i+1].write_domain = 0; + if (do_relocs) { + memset(reloc, 0, sizeof(reloc)); + for (i = 0; i < 64; i++) { + reloc[2*i+0].offset = 64*i + 4 * sizeof(uint32_t); + reloc[2*i+0].delta = 0; + reloc[2*i+0].target_handle = execbuf.flags & I915_EXEC_HANDLE_LUT ? DST : dst; + reloc[2*i+0].presumed_offset = dst_offset; + reloc[2*i+0].read_domains = I915_GEM_DOMAIN_RENDER; + reloc[2*i+0].write_domain = I915_GEM_DOMAIN_RENDER; + + reloc[2*i+1].offset = 64*i + 7 * sizeof(uint32_t); + if (has_64bit_addresses) + reloc[2*i+1].offset += sizeof(uint32_t); + reloc[2*i+1].delta = 0; + reloc[2*i+1].target_handle = execbuf.flags & I915_EXEC_HANDLE_LUT ? SRC : src; + reloc[2*i+1].presumed_offset = src_offset; + reloc[2*i+1].read_domains = I915_GEM_DOMAIN_RENDER; + reloc[2*i+1].write_domain = 0; + } } gem_execbuf(fd, &execbuf); igt_assert_eq_u64(__src_offset, src_offset); igt_assert_eq_u64(__dst_offset, dst_offset); - exec[DST].flags = EXEC_OBJECT_WRITE; - exec[BATCH].relocation_count = 2; + if (do_relocs) { + exec[DST].flags |= EXEC_OBJECT_WRITE; + exec[BATCH].relocation_count = 2; + } else { + exec[SRC].flags |= EXEC_OBJECT_PINNED; + exec[DST].flags |= EXEC_OBJECT_PINNED | EXEC_OBJECT_WRITE; + } execbuf.buffer_count = 3; execbuf.flags |= I915_EXEC_NO_RELOC; if (gem_has_blt(fd)) @@ -146,7 +165,8 @@ static void test_streaming(int fd, int mode, int sync) uint32_t *base; batch[i].handle = gem_create(fd, 4096); - batch[i].offset = 0; + batch[i].offset = intel_allocator_alloc(ahnd, batch[i].handle, 4096, ALIGNMENT); + batch[i].offset = CANONICAL(batch[i].offset); base = gem_mmap__cpu(fd, batch[i].handle, 0, 4096, PROT_WRITE); gem_set_domain(fd, batch[i].handle, @@ -159,19 +179,19 @@ static void test_streaming(int fd, int mode, int sync) int k = 0; b[k] = COPY_BLT_CMD | BLT_WRITE_ARGB; - if (has_64bit_reloc) + if (has_64bit_addresses) b[k] += 2; k++; b[k++] = 0xcc << 16 | 1 << 25 | 1 << 24 | 4096; b[k++] = (y << 16) | x; b[k++] = ((y+1) << 16) | (x + (CHUNK_SIZE >> 2)); b[k++] = dst_offset; - if (has_64bit_reloc) + if (has_64bit_addresses) b[k++] = dst_offset >> 32; b[k++] = (y << 16) | x; b[k++] = 4096; b[k++] = src_offset; - if (has_64bit_reloc) + if (has_64bit_addresses) b[k++] = src_offset >> 32; b[k++] = MI_BATCH_BUFFER_END; @@ -205,10 +225,12 @@ static void test_streaming(int fd, int mode, int sync) b = offset / CHUNK_SIZE / 64; n = offset / CHUNK_SIZE % 64; - exec[BATCH].relocs_ptr = to_user_pointer((reloc + 2*n)); exec[BATCH].handle = batch[b].handle; exec[BATCH].offset = batch[b].offset; + exec[BATCH].flags = EXEC_OBJECT_SUPPORTS_48B_ADDRESS; execbuf.batch_start_offset = 64*n; + if (do_relocs) + exec[BATCH].relocs_ptr = to_user_pointer((reloc + 2*n)); gem_execbuf(fd, &execbuf); igt_assert_eq_u64(__src_offset, src_offset); @@ -230,51 +252,73 @@ static void test_streaming(int fd, int mode, int sync) gem_close(fd, src); munmap(d, OBJECT_SIZE); gem_close(fd, dst); + intel_allocator_close(ahnd); } static void test_batch(int fd, int mode, int reverse) { - const int has_64bit_reloc = intel_gen(intel_get_drm_devid(fd)) >= 8; + const bool has_64bit_addresses = intel_gen(intel_get_drm_devid(fd)) >= 8; + const bool do_relocs = gem_has_relocations(fd); struct drm_i915_gem_execbuffer2 execbuf; struct drm_i915_gem_exec_object2 exec[3]; struct drm_i915_gem_relocation_entry reloc[2]; uint32_t tmp[] = { MI_BATCH_BUFFER_END }; uint64_t __src_offset, __dst_offset; bool need_64b_start_offset = true; - uint64_t batch_size; + uint64_t batch_size, ahnd; uint32_t *s, *d; uint32_t *base; uint32_t offset; + ahnd = intel_allocator_open(fd, 0, INTEL_ALLOCATOR_SIMPLE); + memset(exec, 0, sizeof(exec)); exec[DST].handle = gem_create(fd, OBJECT_SIZE); + exec[DST].offset = intel_allocator_alloc(ahnd, exec[DST].handle, + OBJECT_SIZE, ALIGNMENT); + exec[DST].offset = CANONICAL(exec[DST].offset); + exec[DST].flags = EXEC_OBJECT_SUPPORTS_48B_ADDRESS; exec[SRC].handle = gem_create(fd, OBJECT_SIZE); + exec[SRC].offset = intel_allocator_alloc(ahnd, exec[SRC].handle, + OBJECT_SIZE, ALIGNMENT); + exec[SRC].offset = CANONICAL(exec[SRC].offset); + exec[SRC].flags = EXEC_OBJECT_SUPPORTS_48B_ADDRESS; s = gem_mmap__wc(fd, src, 0, OBJECT_SIZE, PROT_READ | PROT_WRITE); d = gem_mmap__cpu(fd, dst, 0, OBJECT_SIZE, PROT_READ); - memset(reloc, 0, sizeof(reloc)); - reloc[0].offset = 4 * sizeof(uint32_t); - reloc[0].delta = 0; - reloc[0].target_handle = execbuf.flags & I915_EXEC_HANDLE_LUT ? DST : dst; - reloc[0].presumed_offset = dst_offset; - reloc[0].read_domains = I915_GEM_DOMAIN_RENDER; - reloc[0].write_domain = I915_GEM_DOMAIN_RENDER; - - reloc[1].offset = 7 * sizeof(uint32_t); - if (has_64bit_reloc) - reloc[1].offset += sizeof(uint32_t); - reloc[1].delta = 0; - reloc[1].target_handle = execbuf.flags & I915_EXEC_HANDLE_LUT ? SRC : src; - reloc[1].presumed_offset = src_offset; - reloc[1].read_domains = I915_GEM_DOMAIN_RENDER; - reloc[1].write_domain = 0; + if (do_relocs) { + memset(reloc, 0, sizeof(reloc)); + reloc[0].offset = 4 * sizeof(uint32_t); + reloc[0].delta = 0; + reloc[0].target_handle = execbuf.flags & I915_EXEC_HANDLE_LUT ? DST : dst; + reloc[0].presumed_offset = dst_offset; + reloc[0].read_domains = I915_GEM_DOMAIN_RENDER; + reloc[0].write_domain = I915_GEM_DOMAIN_RENDER; + + reloc[1].offset = 7 * sizeof(uint32_t); + if (has_64bit_addresses) + reloc[1].offset += sizeof(uint32_t); + reloc[1].delta = 0; + reloc[1].target_handle = execbuf.flags & I915_EXEC_HANDLE_LUT ? SRC : src; + reloc[1].presumed_offset = src_offset; + reloc[1].read_domains = I915_GEM_DOMAIN_RENDER; + reloc[1].write_domain = 0; + + exec[BATCH].relocs_ptr = to_user_pointer(reloc); + exec[BATCH].relocation_count = 2; + } else { + exec[DST].flags |= EXEC_OBJECT_WRITE | EXEC_OBJECT_PINNED; + exec[SRC].flags |= EXEC_OBJECT_PINNED; + } batch_size = ALIGN(OBJECT_SIZE / CHUNK_SIZE * 128, 4096); - exec[BATCH].relocs_ptr = to_user_pointer(reloc); - exec[BATCH].relocation_count = 2; exec[BATCH].handle = gem_create(fd, batch_size); + exec[BATCH].offset = intel_allocator_alloc(ahnd, exec[BATCH].handle, + batch_size, ALIGNMENT); + exec[BATCH].offset = CANONICAL(exec[BATCH].offset); + exec[BATCH].flags = EXEC_OBJECT_SUPPORTS_48B_ADDRESS; switch (mode) { case 0: /* cpu/snoop */ @@ -304,10 +348,14 @@ static void test_batch(int fd, int mode, int reverse) execbuf.flags &= ~I915_EXEC_HANDLE_LUT; gem_execbuf(fd, &execbuf); } + /* Even without softpinning we can reuse the offsets + * assigned by the driver and avoid relocations. + */ execbuf.flags |= I915_EXEC_NO_RELOC; - exec[DST].flags = EXEC_OBJECT_WRITE; - /* We assume that the active objects are fixed to avoid relocations */ + exec[DST].flags |= EXEC_OBJECT_WRITE; exec[BATCH].relocation_count = 0; + exec[BATCH].relocs_ptr = 0; + __src_offset = src_offset; __dst_offset = dst_offset; @@ -334,19 +382,19 @@ static void test_batch(int fd, int mode, int reverse) k = execbuf.batch_start_offset / 4; base[k] = COPY_BLT_CMD | BLT_WRITE_ARGB; - if (has_64bit_reloc) + if (has_64bit_addresses) base[k] += 2; k++; base[k++] = 0xcc << 16 | 1 << 25 | 1 << 24 | 4096; base[k++] = (y << 16) | x; base[k++] = ((y+1) << 16) | (x + (CHUNK_SIZE >> 2)); base[k++] = dst_offset; - if (has_64bit_reloc) + if (has_64bit_addresses) base[k++] = dst_offset >> 32; base[k++] = (y << 16) | x; base[k++] = 4096; base[k++] = src_offset; - if (has_64bit_reloc) + if (has_64bit_addresses) base[k++] = src_offset >> 32; base[k++] = MI_BATCH_BUFFER_END; @@ -368,6 +416,7 @@ static void test_batch(int fd, int mode, int reverse) gem_close(fd, src); munmap(d, OBJECT_SIZE); gem_close(fd, dst); + intel_allocator_close(ahnd); } igt_main -- 2.25.1 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* [igt-dev] [PATCH i-g-t 2/2] tests/i915/gem_exec_lut_handle: Require relocation support 2021-08-03 7:38 [igt-dev] [PATCH i-g-t 0/2] Keep tests working without relocations 2 Andrzej Turko 2021-08-03 7:38 ` [igt-dev] [PATCH i-g-t 1/2] tests/i915/gem_streaming_writes: Support gens without relocations Andrzej Turko @ 2021-08-03 7:38 ` Andrzej Turko 2021-08-03 8:11 ` [igt-dev] ✓ Fi.CI.BAT: success for Keep tests working without relocations 2 Patchwork ` (2 subsequent siblings) 4 siblings, 0 replies; 8+ messages in thread From: Andrzej Turko @ 2021-08-03 7:38 UTC (permalink / raw) To: igt-dev; +Cc: Andrzej Turko, Zbigniew Kempczyński This test exercises LUT which is a part of the relocation interface. Running this test makes no sense on platforms without relocation support -- thus the new requirement. Signed-off-by: Andrzej Turko <andrzej.turko@linux.intel.com> Cc: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com> --- tests/i915/gem_exec_lut_handle.c | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/i915/gem_exec_lut_handle.c b/tests/i915/gem_exec_lut_handle.c index 3c5c81f1a..064308666 100644 --- a/tests/i915/gem_exec_lut_handle.c +++ b/tests/i915/gem_exec_lut_handle.c @@ -99,6 +99,7 @@ igt_simple_main fd = drm_open_driver(DRIVER_INTEL); igt_require_gem(fd); + igt_require(gem_has_relocations(fd)); memset(gem_exec, 0, sizeof(gem_exec)); for (n = 0; n < MAX_NUM_EXEC; n++) -- 2.25.1 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* [igt-dev] ✓ Fi.CI.BAT: success for Keep tests working without relocations 2 2021-08-03 7:38 [igt-dev] [PATCH i-g-t 0/2] Keep tests working without relocations 2 Andrzej Turko 2021-08-03 7:38 ` [igt-dev] [PATCH i-g-t 1/2] tests/i915/gem_streaming_writes: Support gens without relocations Andrzej Turko 2021-08-03 7:38 ` [igt-dev] [PATCH i-g-t 2/2] tests/i915/gem_exec_lut_handle: Require relocation support Andrzej Turko @ 2021-08-03 8:11 ` Patchwork 2021-08-03 10:53 ` [igt-dev] ✗ GitLab.Pipeline: warning " Patchwork 2021-08-03 18:09 ` [igt-dev] ✓ Fi.CI.IGT: success " Patchwork 4 siblings, 0 replies; 8+ messages in thread From: Patchwork @ 2021-08-03 8:11 UTC (permalink / raw) To: Andrzej Turko; +Cc: igt-dev [-- Attachment #1: Type: text/plain, Size: 2627 bytes --] == Series Details == Series: Keep tests working without relocations 2 URL : https://patchwork.freedesktop.org/series/93326/ State : success == Summary == CI Bug Log - changes from CI_DRM_10440 -> IGTPW_6083 ==================================================== Summary ------- **SUCCESS** No regressions found. External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/index.html Known issues ------------ Here are the changes found in IGTPW_6083 that come from known issues: ### IGT changes ### #### Issues hit #### * igt@gem_exec_parallel@engines@userptr: - fi-pnv-d510: [PASS][1] -> [INCOMPLETE][2] ([i915#299]) [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10440/fi-pnv-d510/igt@gem_exec_parallel@engines@userptr.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/fi-pnv-d510/igt@gem_exec_parallel@engines@userptr.html * igt@gem_exec_suspend@basic-s3: - fi-tgl-1115g4: [PASS][3] -> [FAIL][4] ([i915#1888]) +1 similar issue [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10440/fi-tgl-1115g4/igt@gem_exec_suspend@basic-s3.html [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/fi-tgl-1115g4/igt@gem_exec_suspend@basic-s3.html * igt@runner@aborted: - fi-pnv-d510: NOTRUN -> [FAIL][5] ([i915#2403] / [i915#2505] / [i915#2722]) [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/fi-pnv-d510/igt@runner@aborted.html {name}: This element is suppressed. This means it is ignored when computing the status of the difference (SUCCESS, WARNING, or FAILURE). [i915#1888]: https://gitlab.freedesktop.org/drm/intel/issues/1888 [i915#2403]: https://gitlab.freedesktop.org/drm/intel/issues/2403 [i915#2505]: https://gitlab.freedesktop.org/drm/intel/issues/2505 [i915#2722]: https://gitlab.freedesktop.org/drm/intel/issues/2722 [i915#2867]: https://gitlab.freedesktop.org/drm/intel/issues/2867 [i915#299]: https://gitlab.freedesktop.org/drm/intel/issues/299 Participating hosts (37 -> 33) ------------------------------ Missing (4): fi-bdw-samus fi-bsw-cyan bat-jsl-1 fi-hsw-4200u Build changes ------------- * CI: CI-20190529 -> None * IGT: IGT_6159 -> IGTPW_6083 CI-20190529: 20190529 CI_DRM_10440: 95b785be5ff0413ff419b30da574a7e3d353b33b @ git://anongit.freedesktop.org/gfx-ci/linux IGTPW_6083: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/index.html IGT_6159: 6135b9cc319ed965e3aafb5b2ae2abf4762a06b2 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/index.html [-- Attachment #2: Type: text/html, Size: 3214 bytes --] ^ permalink raw reply [flat|nested] 8+ messages in thread
* [igt-dev] ✗ GitLab.Pipeline: warning for Keep tests working without relocations 2 2021-08-03 7:38 [igt-dev] [PATCH i-g-t 0/2] Keep tests working without relocations 2 Andrzej Turko ` (2 preceding siblings ...) 2021-08-03 8:11 ` [igt-dev] ✓ Fi.CI.BAT: success for Keep tests working without relocations 2 Patchwork @ 2021-08-03 10:53 ` Patchwork 2021-08-03 18:09 ` [igt-dev] ✓ Fi.CI.IGT: success " Patchwork 4 siblings, 0 replies; 8+ messages in thread From: Patchwork @ 2021-08-03 10:53 UTC (permalink / raw) To: Andrzej Turko; +Cc: igt-dev == Series Details == Series: Keep tests working without relocations 2 URL : https://patchwork.freedesktop.org/series/93326/ State : warning == Summary == Pipeline status: FAILED. see https://gitlab.freedesktop.org/gfx-ci/igt-ci-tags/-/pipelines/373469 for the overview. test:ninja-test-armhf has failed (https://gitlab.freedesktop.org/gfx-ci/igt-ci-tags/-/jobs/12440385): Traceback (most recent call last): File "/usr/lib/python3/dist-packages/mesonbuild/mesonmain.py", line 112, in run return options.run_func(options) File "/usr/lib/python3/dist-packages/mesonbuild/mtest.py", line 805, in run return th.doit() File "/usr/lib/python3/dist-packages/mesonbuild/mtest.py", line 555, in doit self.run_tests(tests) File "/usr/lib/python3/dist-packages/mesonbuild/mtest.py", line 715, in run_tests self.drain_futures(futures) File "/usr/lib/python3/dist-packages/mesonbuild/mtest.py", line 732, in drain_futures self.print_stats(numlen, tests, name, result.result(), i) File "/usr/lib/python3/dist-packages/mesonbuild/mtest.py", line 505, in print_stats result_str += "\n\n" + result.get_log() File "/usr/lib/python3/dist-packages/mesonbuild/mtest.py", line 178, in get_log res += self.stde TypeError: can only concatenate str (not "bytes") to str 1/291 lib igt_assert TIMEOUT 32.11 s section_end:1627987825:step_script ERROR: Job failed: execution took longer than 1h0m0s seconds test:ninja-test-clang has failed (https://gitlab.freedesktop.org/gfx-ci/igt-ci-tags/-/jobs/12440384): 298/305 assembler test/rndd OK 0.01 s 299/305 assembler test/rndu OK 0.01 s 300/305 assembler test/rnde OK 0.01 s 301/305 assembler test/rnde-intsrc OK 0.01 s 302/305 assembler test/rndz OK 0.01 s 303/305 assembler test/lzd OK 0.01 s 304/305 assembler test/not OK 0.01 s 305/305 assembler test/immediate OK 0.01 s Ok: 280 Expected Fail: 0 Fail: 0 Unexpected Pass: 0 Skipped: 0 Timeout: 25 Full log written to /builds/gfx-ci/igt-ci-tags/build/meson-logs/testlog.txt section_end:1627987824:step_script ERROR: Job failed: execution took longer than 1h0m0s seconds test:ninja-test-minimal has failed (https://gitlab.freedesktop.org/gfx-ci/igt-ci-tags/-/jobs/12440381): Traceback (most recent call last): File "/usr/lib/python3/dist-packages/mesonbuild/mesonmain.py", line 112, in run return options.run_func(options) File "/usr/lib/python3/dist-packages/mesonbuild/mtest.py", line 805, in run return th.doit() File "/usr/lib/python3/dist-packages/mesonbuild/mtest.py", line 555, in doit self.run_tests(tests) File "/usr/lib/python3/dist-packages/mesonbuild/mtest.py", line 715, in run_tests self.drain_futures(futures) File "/usr/lib/python3/dist-packages/mesonbuild/mtest.py", line 732, in drain_futures self.print_stats(numlen, tests, name, result.result(), i) File "/usr/lib/python3/dist-packages/mesonbuild/mtest.py", line 505, in print_stats result_str += "\n\n" + result.get_log() File "/usr/lib/python3/dist-packages/mesonbuild/mtest.py", line 178, in get_log res += self.stde TypeError: can only concatenate str (not "bytes") to str 1/24 lib igt_assert TIMEOUT 32.04 s section_end:1627987814:step_script ERROR: Job failed: execution took longer than 1h0m0s seconds == Logs == For more details see: https://gitlab.freedesktop.org/gfx-ci/igt-ci-tags/-/pipelines/373469 ^ permalink raw reply [flat|nested] 8+ messages in thread
* [igt-dev] ✓ Fi.CI.IGT: success for Keep tests working without relocations 2 2021-08-03 7:38 [igt-dev] [PATCH i-g-t 0/2] Keep tests working without relocations 2 Andrzej Turko ` (3 preceding siblings ...) 2021-08-03 10:53 ` [igt-dev] ✗ GitLab.Pipeline: warning " Patchwork @ 2021-08-03 18:09 ` Patchwork 4 siblings, 0 replies; 8+ messages in thread From: Patchwork @ 2021-08-03 18:09 UTC (permalink / raw) To: Andrzej Turko; +Cc: igt-dev [-- Attachment #1: Type: text/plain, Size: 30258 bytes --] == Series Details == Series: Keep tests working without relocations 2 URL : https://patchwork.freedesktop.org/series/93326/ State : success == Summary == CI Bug Log - changes from CI_DRM_10440_full -> IGTPW_6083_full ==================================================== Summary ------- **SUCCESS** No regressions found. External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/index.html Known issues ------------ Here are the changes found in IGTPW_6083_full that come from known issues: ### IGT changes ### #### Issues hit #### * igt@gem_ctx_persistence@legacy-engines-persistence: - shard-snb: NOTRUN -> [SKIP][1] ([fdo#109271] / [i915#1099]) +2 similar issues [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-snb6/igt@gem_ctx_persistence@legacy-engines-persistence.html * igt@gem_exec_fair@basic-none-vip@rcs0: - shard-glk: [PASS][2] -> [FAIL][3] ([i915#2842]) [2]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10440/shard-glk5/igt@gem_exec_fair@basic-none-vip@rcs0.html [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-glk6/igt@gem_exec_fair@basic-none-vip@rcs0.html * igt@gem_exec_fair@basic-pace-share@rcs0: - shard-tglb: [PASS][4] -> [FAIL][5] ([i915#2842]) [4]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10440/shard-tglb3/igt@gem_exec_fair@basic-pace-share@rcs0.html [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-tglb1/igt@gem_exec_fair@basic-pace-share@rcs0.html * igt@gem_exec_suspend@basic-s3: - shard-kbl: [PASS][6] -> [DMESG-WARN][7] ([i915#180]) +1 similar issue [6]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10440/shard-kbl6/igt@gem_exec_suspend@basic-s3.html [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-kbl7/igt@gem_exec_suspend@basic-s3.html * igt@gem_exec_whisper@basic-contexts-priority-all: - shard-glk: [PASS][8] -> [DMESG-WARN][9] ([i915#118] / [i915#95]) [8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10440/shard-glk7/igt@gem_exec_whisper@basic-contexts-priority-all.html [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-glk7/igt@gem_exec_whisper@basic-contexts-priority-all.html * igt@gem_pwrite@basic-exhaustion: - shard-snb: NOTRUN -> [WARN][10] ([i915#2658]) [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-snb2/igt@gem_pwrite@basic-exhaustion.html - shard-kbl: NOTRUN -> [WARN][11] ([i915#2658]) [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-kbl1/igt@gem_pwrite@basic-exhaustion.html - shard-apl: NOTRUN -> [WARN][12] ([i915#2658]) [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-apl6/igt@gem_pwrite@basic-exhaustion.html * igt@gem_userptr_blits@dmabuf-sync: - shard-kbl: NOTRUN -> [SKIP][13] ([fdo#109271] / [i915#3323]) [13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-kbl3/igt@gem_userptr_blits@dmabuf-sync.html * igt@gem_userptr_blits@input-checking: - shard-apl: NOTRUN -> [DMESG-WARN][14] ([i915#3002]) [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-apl2/igt@gem_userptr_blits@input-checking.html * igt@gem_userptr_blits@invalid-mmap-offset-unsync: - shard-iclb: NOTRUN -> [SKIP][15] ([i915#3297]) [15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-iclb1/igt@gem_userptr_blits@invalid-mmap-offset-unsync.html - shard-tglb: NOTRUN -> [SKIP][16] ([i915#3297]) [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-tglb2/igt@gem_userptr_blits@invalid-mmap-offset-unsync.html * igt@gen9_exec_parse@bb-start-cmd: - shard-tglb: NOTRUN -> [SKIP][17] ([i915#2856]) [17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-tglb2/igt@gen9_exec_parse@bb-start-cmd.html - shard-iclb: NOTRUN -> [SKIP][18] ([i915#2856]) [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-iclb2/igt@gen9_exec_parse@bb-start-cmd.html * igt@i915_pm_lpsp@kms-lpsp@kms-lpsp-dp: - shard-kbl: NOTRUN -> [SKIP][19] ([fdo#109271] / [i915#1937]) [19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-kbl6/igt@i915_pm_lpsp@kms-lpsp@kms-lpsp-dp.html * igt@i915_pm_rpm@modeset-non-lpsp: - shard-iclb: NOTRUN -> [SKIP][20] ([i915#579]) [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-iclb4/igt@i915_pm_rpm@modeset-non-lpsp.html - shard-tglb: NOTRUN -> [SKIP][21] ([i915#579]) [21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-tglb1/igt@i915_pm_rpm@modeset-non-lpsp.html * igt@i915_selftest@live@hangcheck: - shard-snb: NOTRUN -> [INCOMPLETE][22] ([i915#2782]) [22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-snb7/igt@i915_selftest@live@hangcheck.html * igt@i915_suspend@sysfs-reader: - shard-apl: [PASS][23] -> [DMESG-WARN][24] ([i915#180]) +2 similar issues [23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10440/shard-apl7/igt@i915_suspend@sysfs-reader.html [24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-apl7/igt@i915_suspend@sysfs-reader.html * igt@kms_addfb_basic@invalid-smem-bo-on-discrete: - shard-tglb: NOTRUN -> [SKIP][25] ([i915#3826]) [25]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-tglb5/igt@kms_addfb_basic@invalid-smem-bo-on-discrete.html - shard-iclb: NOTRUN -> [SKIP][26] ([i915#3826]) [26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-iclb2/igt@kms_addfb_basic@invalid-smem-bo-on-discrete.html * igt@kms_big_fb@linear-64bpp-rotate-90: - shard-iclb: NOTRUN -> [SKIP][27] ([fdo#110725] / [fdo#111614]) [27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-iclb3/igt@kms_big_fb@linear-64bpp-rotate-90.html - shard-tglb: NOTRUN -> [SKIP][28] ([fdo#111614]) [28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-tglb7/igt@kms_big_fb@linear-64bpp-rotate-90.html * igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-0-hflip: - shard-glk: NOTRUN -> [SKIP][29] ([fdo#109271] / [i915#3777]) [29]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-glk5/igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-0-hflip.html * igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-180-hflip: - shard-kbl: NOTRUN -> [SKIP][30] ([fdo#109271] / [i915#3777]) +2 similar issues [30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-kbl4/igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-180-hflip.html * igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-hflip: - shard-apl: NOTRUN -> [SKIP][31] ([fdo#109271] / [i915#3777]) +1 similar issue [31]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-apl2/igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-hflip.html * igt@kms_big_fb@yf-tiled-addfb: - shard-tglb: NOTRUN -> [SKIP][32] ([fdo#111615]) [32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-tglb8/igt@kms_big_fb@yf-tiled-addfb.html * igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip: - shard-kbl: NOTRUN -> [SKIP][33] ([fdo#109271]) +188 similar issues [33]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-kbl2/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip.html * igt@kms_ccs@pipe-a-crc-sprite-planes-basic-y_tiled_ccs: - shard-tglb: NOTRUN -> [SKIP][34] ([i915#3689]) +6 similar issues [34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-tglb7/igt@kms_ccs@pipe-a-crc-sprite-planes-basic-y_tiled_ccs.html * igt@kms_chamelium@dp-frame-dump: - shard-iclb: NOTRUN -> [SKIP][35] ([fdo#109284] / [fdo#111827]) +3 similar issues [35]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-iclb4/igt@kms_chamelium@dp-frame-dump.html - shard-glk: NOTRUN -> [SKIP][36] ([fdo#109271] / [fdo#111827]) +3 similar issues [36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-glk6/igt@kms_chamelium@dp-frame-dump.html * igt@kms_chamelium@dp-hpd-enable-disable-mode: - shard-tglb: NOTRUN -> [SKIP][37] ([fdo#109284] / [fdo#111827]) +4 similar issues [37]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-tglb6/igt@kms_chamelium@dp-hpd-enable-disable-mode.html * igt@kms_chamelium@hdmi-mode-timings: - shard-kbl: NOTRUN -> [SKIP][38] ([fdo#109271] / [fdo#111827]) +17 similar issues [38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-kbl7/igt@kms_chamelium@hdmi-mode-timings.html * igt@kms_color_chamelium@pipe-a-ctm-blue-to-red: - shard-snb: NOTRUN -> [SKIP][39] ([fdo#109271] / [fdo#111827]) +20 similar issues [39]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-snb7/igt@kms_color_chamelium@pipe-a-ctm-blue-to-red.html * igt@kms_color_chamelium@pipe-invalid-degamma-lut-sizes: - shard-apl: NOTRUN -> [SKIP][40] ([fdo#109271] / [fdo#111827]) +20 similar issues [40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-apl8/igt@kms_color_chamelium@pipe-invalid-degamma-lut-sizes.html * igt@kms_content_protection@atomic: - shard-apl: NOTRUN -> [TIMEOUT][41] ([i915#1319]) [41]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-apl2/igt@kms_content_protection@atomic.html * igt@kms_content_protection@dp-mst-lic-type-1: - shard-iclb: NOTRUN -> [SKIP][42] ([i915#3116]) [42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-iclb4/igt@kms_content_protection@dp-mst-lic-type-1.html - shard-tglb: NOTRUN -> [SKIP][43] ([i915#3116]) [43]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-tglb8/igt@kms_content_protection@dp-mst-lic-type-1.html * igt@kms_content_protection@legacy: - shard-tglb: NOTRUN -> [SKIP][44] ([fdo#111828]) [44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-tglb2/igt@kms_content_protection@legacy.html * igt@kms_cursor_crc@pipe-a-cursor-max-size-rapid-movement: - shard-tglb: NOTRUN -> [SKIP][45] ([i915#3359]) +1 similar issue [45]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-tglb6/igt@kms_cursor_crc@pipe-a-cursor-max-size-rapid-movement.html * igt@kms_cursor_crc@pipe-b-cursor-512x512-sliding: - shard-iclb: NOTRUN -> [SKIP][46] ([fdo#109278] / [fdo#109279]) [46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-iclb2/igt@kms_cursor_crc@pipe-b-cursor-512x512-sliding.html - shard-tglb: NOTRUN -> [SKIP][47] ([fdo#109279] / [i915#3359]) [47]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-tglb2/igt@kms_cursor_crc@pipe-b-cursor-512x512-sliding.html * igt@kms_cursor_crc@pipe-c-cursor-128x128-random: - shard-glk: [PASS][48] -> [FAIL][49] ([i915#3444]) [48]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10440/shard-glk7/igt@kms_cursor_crc@pipe-c-cursor-128x128-random.html [49]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-glk7/igt@kms_cursor_crc@pipe-c-cursor-128x128-random.html - shard-apl: [PASS][50] -> [FAIL][51] ([i915#3444]) [50]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10440/shard-apl8/igt@kms_cursor_crc@pipe-c-cursor-128x128-random.html [51]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-apl6/igt@kms_cursor_crc@pipe-c-cursor-128x128-random.html - shard-kbl: [PASS][52] -> [FAIL][53] ([i915#3444]) [52]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10440/shard-kbl3/igt@kms_cursor_crc@pipe-c-cursor-128x128-random.html [53]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-kbl2/igt@kms_cursor_crc@pipe-c-cursor-128x128-random.html * igt@kms_cursor_crc@pipe-c-cursor-32x32-sliding: - shard-tglb: NOTRUN -> [SKIP][54] ([i915#3319]) [54]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-tglb7/igt@kms_cursor_crc@pipe-c-cursor-32x32-sliding.html * igt@kms_cursor_edge_walk@pipe-d-128x128-right-edge: - shard-snb: NOTRUN -> [SKIP][55] ([fdo#109271]) +389 similar issues [55]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-snb2/igt@kms_cursor_edge_walk@pipe-d-128x128-right-edge.html * igt@kms_cursor_legacy@2x-long-flip-vs-cursor-atomic: - shard-glk: [PASS][56] -> [FAIL][57] ([i915#72]) [56]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10440/shard-glk7/igt@kms_cursor_legacy@2x-long-flip-vs-cursor-atomic.html [57]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-glk7/igt@kms_cursor_legacy@2x-long-flip-vs-cursor-atomic.html * igt@kms_cursor_legacy@cursorb-vs-flipa-atomic-transitions-varying-size: - shard-iclb: NOTRUN -> [SKIP][58] ([fdo#109274] / [fdo#109278]) [58]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-iclb2/igt@kms_cursor_legacy@cursorb-vs-flipa-atomic-transitions-varying-size.html * igt@kms_cursor_legacy@pipe-d-single-bo: - shard-kbl: NOTRUN -> [SKIP][59] ([fdo#109271] / [i915#533]) [59]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-kbl6/igt@kms_cursor_legacy@pipe-d-single-bo.html * igt@kms_cursor_legacy@pipe-d-single-move: - shard-iclb: NOTRUN -> [SKIP][60] ([fdo#109278]) +12 similar issues [60]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-iclb1/igt@kms_cursor_legacy@pipe-d-single-move.html * igt@kms_fbcon_fbt@fbc-suspend: - shard-kbl: [PASS][61] -> [INCOMPLETE][62] ([i915#155] / [i915#180] / [i915#636]) [61]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10440/shard-kbl1/igt@kms_fbcon_fbt@fbc-suspend.html [62]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-kbl3/igt@kms_fbcon_fbt@fbc-suspend.html * igt@kms_flip@2x-flip-vs-panning: - shard-iclb: NOTRUN -> [SKIP][63] ([fdo#109274]) +1 similar issue [63]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-iclb6/igt@kms_flip@2x-flip-vs-panning.html * igt@kms_flip@blocking-wf_vblank@a-hdmi-a1: - shard-glk: [PASS][64] -> [FAIL][65] ([i915#2122]) [64]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10440/shard-glk6/igt@kms_flip@blocking-wf_vblank@a-hdmi-a1.html [65]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-glk6/igt@kms_flip@blocking-wf_vblank@a-hdmi-a1.html * igt@kms_flip@flip-vs-expired-vblank-interruptible@b-dp1: - shard-kbl: [PASS][66] -> [FAIL][67] ([i915#79]) [66]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10440/shard-kbl2/igt@kms_flip@flip-vs-expired-vblank-interruptible@b-dp1.html [67]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-kbl3/igt@kms_flip@flip-vs-expired-vblank-interruptible@b-dp1.html * igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile: - shard-tglb: NOTRUN -> [SKIP][68] ([i915#2587]) [68]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-tglb1/igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile.html * igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs: - shard-kbl: NOTRUN -> [SKIP][69] ([fdo#109271] / [i915#2672]) [69]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-kbl4/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs.html * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-shrfb-draw-mmap-cpu: - shard-apl: NOTRUN -> [SKIP][70] ([fdo#109271]) +252 similar issues [70]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-apl1/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-shrfb-draw-mmap-cpu.html - shard-iclb: NOTRUN -> [SKIP][71] ([fdo#109280]) +9 similar issues [71]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-iclb7/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-shrfb-draw-mmap-cpu.html * igt@kms_frontbuffer_tracking@fbc-suspend: - shard-kbl: NOTRUN -> [DMESG-WARN][72] ([i915#180]) +1 similar issue [72]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-kbl7/igt@kms_frontbuffer_tracking@fbc-suspend.html * igt@kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-indfb-draw-mmap-cpu: - shard-glk: NOTRUN -> [SKIP][73] ([fdo#109271]) +37 similar issues [73]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-glk5/igt@kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-indfb-draw-mmap-cpu.html * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-indfb-draw-render: - shard-iclb: [PASS][74] -> [FAIL][75] ([i915#2546]) [74]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10440/shard-iclb6/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-indfb-draw-render.html [75]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-iclb3/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-indfb-draw-render.html * igt@kms_frontbuffer_tracking@psr-2p-primscrn-pri-shrfb-draw-render: - shard-tglb: NOTRUN -> [SKIP][76] ([fdo#111825]) +15 similar issues [76]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-tglb5/igt@kms_frontbuffer_tracking@psr-2p-primscrn-pri-shrfb-draw-render.html * igt@kms_pipe_crc_basic@nonblocking-crc-pipe-d-frame-sequence: - shard-apl: NOTRUN -> [SKIP][77] ([fdo#109271] / [i915#533]) [77]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-apl7/igt@kms_pipe_crc_basic@nonblocking-crc-pipe-d-frame-sequence.html * igt@kms_plane_alpha_blend@pipe-b-alpha-7efc: - shard-kbl: NOTRUN -> [FAIL][78] ([fdo#108145] / [i915#265]) [78]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-kbl6/igt@kms_plane_alpha_blend@pipe-b-alpha-7efc.html * igt@kms_plane_alpha_blend@pipe-c-constant-alpha-max: - shard-apl: NOTRUN -> [FAIL][79] ([fdo#108145] / [i915#265]) [79]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-apl6/igt@kms_plane_alpha_blend@pipe-c-constant-alpha-max.html * igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area-4: - shard-apl: NOTRUN -> [SKIP][80] ([fdo#109271] / [i915#658]) +7 similar issues [80]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-apl8/igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area-4.html - shard-kbl: NOTRUN -> [SKIP][81] ([fdo#109271] / [i915#658]) [81]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-kbl6/igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area-4.html * igt@kms_psr2_su@page_flip: - shard-iclb: [PASS][82] -> [SKIP][83] ([fdo#109642] / [fdo#111068] / [i915#658]) [82]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10440/shard-iclb2/igt@kms_psr2_su@page_flip.html [83]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-iclb3/igt@kms_psr2_su@page_flip.html * igt@kms_psr@psr2_cursor_plane_move: - shard-iclb: NOTRUN -> [SKIP][84] ([fdo#109441]) +1 similar issue [84]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-iclb6/igt@kms_psr@psr2_cursor_plane_move.html * igt@kms_psr@psr2_cursor_plane_onoff: - shard-tglb: NOTRUN -> [FAIL][85] ([i915#132] / [i915#3467]) +1 similar issue [85]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-tglb7/igt@kms_psr@psr2_cursor_plane_onoff.html * igt@kms_psr@psr2_suspend: - shard-iclb: [PASS][86] -> [SKIP][87] ([fdo#109441]) +1 similar issue [86]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10440/shard-iclb2/igt@kms_psr@psr2_suspend.html [87]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-iclb1/igt@kms_psr@psr2_suspend.html * igt@kms_sysfs_edid_timing: - shard-apl: NOTRUN -> [FAIL][88] ([IGT#2]) [88]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-apl1/igt@kms_sysfs_edid_timing.html - shard-kbl: NOTRUN -> [FAIL][89] ([IGT#2]) [89]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-kbl2/igt@kms_sysfs_edid_timing.html * igt@kms_vblank@pipe-a-ts-continuation-suspend: - shard-kbl: NOTRUN -> [DMESG-WARN][90] ([i915#180] / [i915#295]) [90]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-kbl7/igt@kms_vblank@pipe-a-ts-continuation-suspend.html * igt@nouveau_crc@pipe-a-ctx-flip-skip-current-frame: - shard-tglb: NOTRUN -> [SKIP][91] ([i915#2530]) [91]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-tglb1/igt@nouveau_crc@pipe-a-ctx-flip-skip-current-frame.html * igt@prime_nv_pcopy@test3_1: - shard-tglb: NOTRUN -> [SKIP][92] ([fdo#109291]) +1 similar issue [92]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-tglb3/igt@prime_nv_pcopy@test3_1.html * igt@prime_nv_test@nv_write_i915_gtt_mmap_read: - shard-iclb: NOTRUN -> [SKIP][93] ([fdo#109291]) +1 similar issue [93]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-iclb4/igt@prime_nv_test@nv_write_i915_gtt_mmap_read.html * igt@prime_vgem@sync@bcs0: - shard-tglb: [PASS][94] -> [INCOMPLETE][95] ([i915#409]) [94]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10440/shard-tglb7/igt@prime_vgem@sync@bcs0.html [95]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-tglb1/igt@prime_vgem@sync@bcs0.html * igt@sysfs_clients@fair-1: - shard-apl: NOTRUN -> [SKIP][96] ([fdo#109271] / [i915#2994]) +2 similar issues [96]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-apl6/igt@sysfs_clients@fair-1.html * igt@sysfs_clients@sema-50: - shard-iclb: NOTRUN -> [SKIP][97] ([i915#2994]) [97]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-iclb2/igt@sysfs_clients@sema-50.html - shard-kbl: NOTRUN -> [SKIP][98] ([fdo#109271] / [i915#2994]) +2 similar issues [98]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-kbl6/igt@sysfs_clients@sema-50.html - shard-glk: NOTRUN -> [SKIP][99] ([fdo#109271] / [i915#2994]) [99]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-glk7/igt@sysfs_clients@sema-50.html - shard-tglb: NOTRUN -> [SKIP][100] ([i915#2994]) [100]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-tglb5/igt@sysfs_clients@sema-50.html #### Possible fixes #### * igt@gem_create@create-clear: - shard-glk: [FAIL][101] ([i915#1888] / [i915#3160]) -> [PASS][102] [101]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10440/shard-glk5/igt@gem_create@create-clear.html [102]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-glk6/igt@gem_create@create-clear.html * igt@gem_ctx_persistence@many-contexts: - shard-tglb: [FAIL][103] ([i915#2410]) -> [PASS][104] [103]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10440/shard-tglb3/igt@gem_ctx_persistence@many-contexts.html [104]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-tglb1/igt@gem_ctx_persistence@many-contexts.html * igt@gem_eio@in-flight-suspend: - shard-apl: [DMESG-WARN][105] ([i915#180]) -> [PASS][106] [105]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10440/shard-apl6/igt@gem_eio@in-flight-suspend.html [106]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-apl3/igt@gem_eio@in-flight-suspend.html * igt@gem_eio@unwedge-stress: - shard-tglb: [TIMEOUT][107] ([i915#2369] / [i915#3063] / [i915#3648]) -> [PASS][108] [107]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10440/shard-tglb1/igt@gem_eio@unwedge-stress.html [108]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-tglb2/igt@gem_eio@unwedge-stress.html - shard-iclb: [TIMEOUT][109] ([i915#2369] / [i915#2481] / [i915#3070]) -> [PASS][110] [109]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10440/shard-iclb6/igt@gem_eio@unwedge-stress.html [110]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-iclb2/igt@gem_eio@unwedge-stress.html * igt@gem_exec_fair@basic-none@vecs0: - shard-kbl: [FAIL][111] ([i915#2842]) -> [PASS][112] [111]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10440/shard-kbl6/igt@gem_exec_fair@basic-none@vecs0.html [112]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-kbl1/igt@gem_exec_fair@basic-none@vecs0.html * igt@gem_exec_fair@basic-sync@rcs0: - shard-kbl: [SKIP][113] ([fdo#109271]) -> [PASS][114] [113]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10440/shard-kbl6/igt@gem_exec_fair@basic-sync@rcs0.html [114]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-kbl7/igt@gem_exec_fair@basic-sync@rcs0.html * igt@gem_mmap_gtt@cpuset-big-copy-xy: - shard-iclb: [FAIL][115] ([i915#307]) -> [PASS][116] [115]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10440/shard-iclb8/igt@gem_mmap_gtt@cpuset-big-copy-xy.html [116]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-iclb5/igt@gem_mmap_gtt@cpuset-big-copy-xy.html * igt@i915_suspend@debugfs-reader: - shard-kbl: [DMESG-WARN][117] ([i915#180]) -> [PASS][118] +2 similar issues [117]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10440/shard-kbl4/igt@i915_suspend@debugfs-reader.html [118]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-kbl1/igt@i915_suspend@debugfs-reader.html * igt@kms_dither@fb-8bpc-vs-panel-8bpc@edp-1-pipe-a: - shard-iclb: [SKIP][119] ([i915#3788]) -> [PASS][120] [119]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10440/shard-iclb2/igt@kms_dither@fb-8bpc-vs-panel-8bpc@edp-1-pipe-a.html [120]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-iclb5/igt@kms_dither@fb-8bpc-vs-panel-8bpc@edp-1-pipe-a.html * igt@kms_psr@psr2_cursor_render: - shard-iclb: [SKIP][121] ([fdo#109441]) -> [PASS][122] +2 similar issues [121]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10440/shard-iclb7/igt@kms_psr@psr2_cursor_render.html [122]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-iclb2/igt@kms_psr@psr2_cursor_render.html * igt@perf@polling-parameterized: - shard-tglb: [FAIL][123] ([i915#1542]) -> [PASS][124] [123]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10440/shard-tglb1/igt@perf@polling-parameterized.html [124]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-tglb2/igt@perf@polling-parameterized.html #### Warnings #### * igt@i915_pm_rc6_residency@rc6-fence: - shard-iclb: [WARN][125] ([i915#2684]) -> [WARN][126] ([i915#1804] / [i915#2684]) [125]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10440/shard-iclb1/igt@i915_pm_rc6_residency@rc6-fence.html [126]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-iclb7/igt@i915_pm_rc6_residency@rc6-fence.html * igt@kms_psr2_sf@plane-move-sf-dmg-area-0: - shard-iclb: [SKIP][127] ([i915#2920]) -> [SKIP][128] ([i915#658]) [127]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10440/shard-iclb2/igt@kms_psr2_sf@plane-move-sf-dmg-area-0.html [128]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-iclb4/igt@kms_psr2_sf@plane-move-sf-dmg-area-0.html * igt@kms_psr2_sf@plane-move-sf-dmg-area-3: - shard-iclb: [SKIP][129] ([i915#658]) -> [SKIP][130] ([i915#2920]) +3 similar issues [129]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10440/shard-iclb7/igt@kms_psr2_sf@plane-move-sf-dmg-area-3.html [130]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-iclb2/igt@kms_psr2_sf@plane-move-sf-dmg-area-3.html * igt@runner@aborted: - shard-kbl: ([FAIL][131], [FAIL][132], [FAIL][133], [FAIL][134], [FAIL][135], [FAIL][136], [FAIL][137], [FAIL][138], [FAIL][139]) ([i915#1436] / [i915#180] / [i915#1814] / [i915#2292] / [i915#2505] / [i915#3002] / [i915#3363]) -> ([FAIL][140], [FAIL][141], [FAIL][142], [FAIL][143], [FAIL][144], [FAIL][145], [FAIL][146], [FAIL][147]) ([fdo#109271] / [i915#1436] / [i915#180] / [i915#1814] / [i915#2292] / [i915#3002] / [i915#3363] / [i915#602] / [i915#92]) [131]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10440/shard-kbl4/igt@runner@aborted.html [132]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10440/shard-kbl6/igt@runner@aborted.html [133]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10440/shard-kbl4/igt@runner@aborted.html [134]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10440/shard-kbl7/igt@runner@aborted.html [135]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10440/shard-kbl4/igt@runner@aborted.html [136]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10440/shard-kbl7/igt@runner@aborted.html [137]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10440/shard-kbl4/igt@runner@aborted.html [138]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10440/shard-kbl1/igt@runner@aborted.html [139]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10440/shard-kbl4/igt@runner@aborted.html [140]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-kbl7/igt@runner@aborted.html [141]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-kbl7/igt@runner@aborted.html [142]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-kbl7/igt@runner@aborted.html [143]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-kbl3/igt@runner@aborted.html [144]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-kbl3/igt@runner@aborted.html [145]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-kbl7/igt@runner@aborted.html [146]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-kbl2/igt@runner@aborted.html [147]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/shard-kbl3/igt@runner@aborted.html - shard-apl: ([FAIL][148], [FAIL][149], [FAIL][150], [FAIL][151]) ([fdo#109271] / [i915#1610] / [i915#180] / [i915#1814] / [i915#3002] / [i915#3363]) -> ([FAIL][152], [FAIL][153], [FAIL][154], [FAIL][155], [FAIL][156]) ([i915#180] / [i915#1814] / [i915#3002] / [i915#3363]) [148]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10440/shard-apl3/igt@runner@aborted.html [149]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10440/shard-apl3/igt@runner@aborted.html [150]: https://intel-gfx-ci.01.org/tree/ == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6083/index.html [-- Attachment #2: Type: text/html, Size: 34076 bytes --] ^ permalink raw reply [flat|nested] 8+ messages in thread
* [igt-dev] [PATCH i-g-t 0/2] Keep tests working without relocations @ 2021-08-09 13:20 Andrzej Turko 2021-08-09 13:20 ` [igt-dev] [PATCH i-g-t 1/2] tests/i915/gem_streaming_writes: Support gens " Andrzej Turko 0 siblings, 1 reply; 8+ messages in thread From: Andrzej Turko @ 2021-08-09 13:20 UTC (permalink / raw) To: igt-dev; +Cc: Andrzej Turko, Zbigniew Kempczyński Avoid using relocations on generations which do not support it. Cc: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com> Andrzej Turko (2): tests/i915/gem_streaming_writes: Support gens without relocations HAX: Add the tests to fast feedback tests/i915/gem_streaming_writes.c | 109 ++++++++------- tests/intel-ci/fast-feedback.testlist | 185 ++------------------------ 2 files changed, 75 insertions(+), 219 deletions(-) -- 2.25.1 ^ permalink raw reply [flat|nested] 8+ messages in thread
* [igt-dev] [PATCH i-g-t 1/2] tests/i915/gem_streaming_writes: Support gens without relocations 2021-08-09 13:20 [igt-dev] [PATCH i-g-t 0/2] Keep tests working without relocations Andrzej Turko @ 2021-08-09 13:20 ` Andrzej Turko 2021-08-10 7:09 ` Zbigniew Kempczyński 0 siblings, 1 reply; 8+ messages in thread From: Andrzej Turko @ 2021-08-09 13:20 UTC (permalink / raw) To: igt-dev; +Cc: Andrzej Turko, Zbigniew Kempczyński Use softpin to completely avoid relocations on generations which do not support them. Signed-off-by: Andrzej Turko <andrzej.turko@linux.intel.com> Cc: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com> --- tests/i915/gem_streaming_writes.c | 109 +++++++++++++++++------------- 1 file changed, 62 insertions(+), 47 deletions(-) diff --git a/tests/i915/gem_streaming_writes.c b/tests/i915/gem_streaming_writes.c index c104792bd..ce82d8823 100644 --- a/tests/i915/gem_streaming_writes.c +++ b/tests/i915/gem_streaming_writes.c @@ -62,7 +62,8 @@ IGT_TEST_DESCRIPTION("Test of streaming writes into active GPU sources"); static void test_streaming(int fd, int mode, int sync) { - const int has_64bit_reloc = intel_gen(intel_get_drm_devid(fd)) >= 8; + const bool has_64bit_addr = intel_gen(intel_get_drm_devid(fd)) >= 8; + const bool do_relocs = gem_has_relocations(fd); struct drm_i915_gem_execbuffer2 execbuf; struct drm_i915_gem_exec_object2 exec[3]; struct drm_i915_gem_relocation_entry reloc[128]; @@ -112,30 +113,35 @@ static void test_streaming(int fd, int mode, int sync) __src_offset = src_offset; __dst_offset = dst_offset; - memset(reloc, 0, sizeof(reloc)); - for (i = 0; i < 64; i++) { - reloc[2*i+0].offset = 64*i + 4 * sizeof(uint32_t); - reloc[2*i+0].delta = 0; - reloc[2*i+0].target_handle = execbuf.flags & I915_EXEC_HANDLE_LUT ? DST : dst; - reloc[2*i+0].presumed_offset = dst_offset; - reloc[2*i+0].read_domains = I915_GEM_DOMAIN_RENDER; - reloc[2*i+0].write_domain = I915_GEM_DOMAIN_RENDER; - - reloc[2*i+1].offset = 64*i + 7 * sizeof(uint32_t); - if (has_64bit_reloc) - reloc[2*i+1].offset += sizeof(uint32_t); - reloc[2*i+1].delta = 0; - reloc[2*i+1].target_handle = execbuf.flags & I915_EXEC_HANDLE_LUT ? SRC : src; - reloc[2*i+1].presumed_offset = src_offset; - reloc[2*i+1].read_domains = I915_GEM_DOMAIN_RENDER; - reloc[2*i+1].write_domain = 0; - } gem_execbuf(fd, &execbuf); igt_assert_eq_u64(__src_offset, src_offset); igt_assert_eq_u64(__dst_offset, dst_offset); exec[DST].flags = EXEC_OBJECT_WRITE; - exec[BATCH].relocation_count = 2; + if (do_relocs) { + memset(reloc, 0, sizeof(reloc)); + for (i = 0; i < 64; i++) { + reloc[2*i+0].offset = 64*i + 4 * sizeof(uint32_t); + reloc[2*i+0].delta = 0; + reloc[2*i+0].target_handle = execbuf.flags & I915_EXEC_HANDLE_LUT ? DST : dst; + reloc[2*i+0].presumed_offset = dst_offset; + reloc[2*i+0].read_domains = I915_GEM_DOMAIN_RENDER; + reloc[2*i+0].write_domain = I915_GEM_DOMAIN_RENDER; + + reloc[2*i+1].offset = 64*i + 7 * sizeof(uint32_t); + if (has_64bit_addr) + reloc[2*i+1].offset += sizeof(uint32_t); + reloc[2*i+1].delta = 0; + reloc[2*i+1].target_handle = execbuf.flags & I915_EXEC_HANDLE_LUT ? SRC : src; + reloc[2*i+1].presumed_offset = src_offset; + reloc[2*i+1].read_domains = I915_GEM_DOMAIN_RENDER; + reloc[2*i+1].write_domain = 0; + } + exec[BATCH].relocation_count = 2; + } else { + exec[DST].flags |= EXEC_OBJECT_PINNED; + exec[SRC].flags = EXEC_OBJECT_PINNED; + } execbuf.buffer_count = 3; execbuf.flags |= I915_EXEC_NO_RELOC; if (gem_has_blt(fd)) @@ -159,19 +165,19 @@ static void test_streaming(int fd, int mode, int sync) int k = 0; b[k] = COPY_BLT_CMD | BLT_WRITE_ARGB; - if (has_64bit_reloc) + if (has_64bit_addr) b[k] += 2; k++; b[k++] = 0xcc << 16 | 1 << 25 | 1 << 24 | 4096; b[k++] = (y << 16) | x; b[k++] = ((y+1) << 16) | (x + (CHUNK_SIZE >> 2)); b[k++] = dst_offset; - if (has_64bit_reloc) + if (has_64bit_addr) b[k++] = dst_offset >> 32; b[k++] = (y << 16) | x; b[k++] = 4096; b[k++] = src_offset; - if (has_64bit_reloc) + if (has_64bit_addr) b[k++] = src_offset >> 32; b[k++] = MI_BATCH_BUFFER_END; @@ -205,7 +211,8 @@ static void test_streaming(int fd, int mode, int sync) b = offset / CHUNK_SIZE / 64; n = offset / CHUNK_SIZE % 64; - exec[BATCH].relocs_ptr = to_user_pointer((reloc + 2*n)); + if (do_relocs) + exec[BATCH].relocs_ptr = to_user_pointer((reloc + 2*n)); exec[BATCH].handle = batch[b].handle; exec[BATCH].offset = batch[b].offset; execbuf.batch_start_offset = 64*n; @@ -234,7 +241,8 @@ static void test_streaming(int fd, int mode, int sync) static void test_batch(int fd, int mode, int reverse) { - const int has_64bit_reloc = intel_gen(intel_get_drm_devid(fd)) >= 8; + const bool has_64bit_addr = intel_gen(intel_get_drm_devid(fd)) >= 8; + const bool do_relocs = gem_has_relocations(fd); struct drm_i915_gem_execbuffer2 execbuf; struct drm_i915_gem_exec_object2 exec[3]; struct drm_i915_gem_relocation_entry reloc[2]; @@ -254,26 +262,28 @@ static void test_batch(int fd, int mode, int reverse) d = gem_mmap__cpu(fd, dst, 0, OBJECT_SIZE, PROT_READ); - memset(reloc, 0, sizeof(reloc)); - reloc[0].offset = 4 * sizeof(uint32_t); - reloc[0].delta = 0; - reloc[0].target_handle = execbuf.flags & I915_EXEC_HANDLE_LUT ? DST : dst; - reloc[0].presumed_offset = dst_offset; - reloc[0].read_domains = I915_GEM_DOMAIN_RENDER; - reloc[0].write_domain = I915_GEM_DOMAIN_RENDER; - - reloc[1].offset = 7 * sizeof(uint32_t); - if (has_64bit_reloc) - reloc[1].offset += sizeof(uint32_t); - reloc[1].delta = 0; - reloc[1].target_handle = execbuf.flags & I915_EXEC_HANDLE_LUT ? SRC : src; - reloc[1].presumed_offset = src_offset; - reloc[1].read_domains = I915_GEM_DOMAIN_RENDER; - reloc[1].write_domain = 0; - + if (do_relocs) { + memset(reloc, 0, sizeof(reloc)); + reloc[0].offset = 4 * sizeof(uint32_t); + reloc[0].delta = 0; + reloc[0].target_handle = execbuf.flags & I915_EXEC_HANDLE_LUT ? DST : dst; + reloc[0].presumed_offset = dst_offset; + reloc[0].read_domains = I915_GEM_DOMAIN_RENDER; + reloc[0].write_domain = I915_GEM_DOMAIN_RENDER; + + reloc[1].offset = 7 * sizeof(uint32_t); + if (has_64bit_addr) + reloc[1].offset += sizeof(uint32_t); + reloc[1].delta = 0; + reloc[1].target_handle = execbuf.flags & I915_EXEC_HANDLE_LUT ? SRC : src; + reloc[1].presumed_offset = src_offset; + reloc[1].read_domains = I915_GEM_DOMAIN_RENDER; + reloc[1].write_domain = 0; + + exec[BATCH].relocs_ptr = to_user_pointer(reloc); + exec[BATCH].relocation_count = 2; + } batch_size = ALIGN(OBJECT_SIZE / CHUNK_SIZE * 128, 4096); - exec[BATCH].relocs_ptr = to_user_pointer(reloc); - exec[BATCH].relocation_count = 2; exec[BATCH].handle = gem_create(fd, batch_size); switch (mode) { @@ -308,8 +318,13 @@ static void test_batch(int fd, int mode, int reverse) exec[DST].flags = EXEC_OBJECT_WRITE; /* We assume that the active objects are fixed to avoid relocations */ exec[BATCH].relocation_count = 0; + exec[BATCH].relocs_ptr = 0; __src_offset = src_offset; __dst_offset = dst_offset; + if (!do_relocs) { + exec[DST].flags |= EXEC_OBJECT_PINNED; + exec[SRC].flags = EXEC_OBJECT_PINNED; + } offset = mode ? I915_GEM_DOMAIN_GTT : I915_GEM_DOMAIN_CPU; gem_set_domain(fd, exec[BATCH].handle, offset, offset); @@ -334,19 +349,19 @@ static void test_batch(int fd, int mode, int reverse) k = execbuf.batch_start_offset / 4; base[k] = COPY_BLT_CMD | BLT_WRITE_ARGB; - if (has_64bit_reloc) + if (has_64bit_addr) base[k] += 2; k++; base[k++] = 0xcc << 16 | 1 << 25 | 1 << 24 | 4096; base[k++] = (y << 16) | x; base[k++] = ((y+1) << 16) | (x + (CHUNK_SIZE >> 2)); base[k++] = dst_offset; - if (has_64bit_reloc) + if (has_64bit_addr) base[k++] = dst_offset >> 32; base[k++] = (y << 16) | x; base[k++] = 4096; base[k++] = src_offset; - if (has_64bit_reloc) + if (has_64bit_addr) base[k++] = src_offset >> 32; base[k++] = MI_BATCH_BUFFER_END; -- 2.25.1 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [igt-dev] [PATCH i-g-t 1/2] tests/i915/gem_streaming_writes: Support gens without relocations 2021-08-09 13:20 ` [igt-dev] [PATCH i-g-t 1/2] tests/i915/gem_streaming_writes: Support gens " Andrzej Turko @ 2021-08-10 7:09 ` Zbigniew Kempczyński 0 siblings, 0 replies; 8+ messages in thread From: Zbigniew Kempczyński @ 2021-08-10 7:09 UTC (permalink / raw) To: Andrzej Turko; +Cc: igt-dev On Mon, Aug 09, 2021 at 03:20:25PM +0200, Andrzej Turko wrote: > Use softpin to completely avoid relocations on generations > which do not support them. > > Signed-off-by: Andrzej Turko <andrzej.turko@linux.intel.com> > Cc: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com> > --- > tests/i915/gem_streaming_writes.c | 109 +++++++++++++++++------------- > 1 file changed, 62 insertions(+), 47 deletions(-) > > diff --git a/tests/i915/gem_streaming_writes.c b/tests/i915/gem_streaming_writes.c > index c104792bd..ce82d8823 100644 > --- a/tests/i915/gem_streaming_writes.c > +++ b/tests/i915/gem_streaming_writes.c > @@ -62,7 +62,8 @@ IGT_TEST_DESCRIPTION("Test of streaming writes into active GPU sources"); > > static void test_streaming(int fd, int mode, int sync) > { > - const int has_64bit_reloc = intel_gen(intel_get_drm_devid(fd)) >= 8; > + const bool has_64bit_addr = intel_gen(intel_get_drm_devid(fd)) >= 8; > + const bool do_relocs = gem_has_relocations(fd); > struct drm_i915_gem_execbuffer2 execbuf; > struct drm_i915_gem_exec_object2 exec[3]; > struct drm_i915_gem_relocation_entry reloc[128]; > @@ -112,30 +113,35 @@ static void test_streaming(int fd, int mode, int sync) > __src_offset = src_offset; > __dst_offset = dst_offset; > > - memset(reloc, 0, sizeof(reloc)); > - for (i = 0; i < 64; i++) { > - reloc[2*i+0].offset = 64*i + 4 * sizeof(uint32_t); > - reloc[2*i+0].delta = 0; > - reloc[2*i+0].target_handle = execbuf.flags & I915_EXEC_HANDLE_LUT ? DST : dst; > - reloc[2*i+0].presumed_offset = dst_offset; > - reloc[2*i+0].read_domains = I915_GEM_DOMAIN_RENDER; > - reloc[2*i+0].write_domain = I915_GEM_DOMAIN_RENDER; > - > - reloc[2*i+1].offset = 64*i + 7 * sizeof(uint32_t); > - if (has_64bit_reloc) > - reloc[2*i+1].offset += sizeof(uint32_t); > - reloc[2*i+1].delta = 0; > - reloc[2*i+1].target_handle = execbuf.flags & I915_EXEC_HANDLE_LUT ? SRC : src; > - reloc[2*i+1].presumed_offset = src_offset; > - reloc[2*i+1].read_domains = I915_GEM_DOMAIN_RENDER; > - reloc[2*i+1].write_domain = 0; > - } > gem_execbuf(fd, &execbuf); > igt_assert_eq_u64(__src_offset, src_offset); > igt_assert_eq_u64(__dst_offset, dst_offset); > > exec[DST].flags = EXEC_OBJECT_WRITE; > - exec[BATCH].relocation_count = 2; > + if (do_relocs) { > + memset(reloc, 0, sizeof(reloc)); > + for (i = 0; i < 64; i++) { > + reloc[2*i+0].offset = 64*i + 4 * sizeof(uint32_t); > + reloc[2*i+0].delta = 0; > + reloc[2*i+0].target_handle = execbuf.flags & I915_EXEC_HANDLE_LUT ? DST : dst; > + reloc[2*i+0].presumed_offset = dst_offset; > + reloc[2*i+0].read_domains = I915_GEM_DOMAIN_RENDER; > + reloc[2*i+0].write_domain = I915_GEM_DOMAIN_RENDER; > + > + reloc[2*i+1].offset = 64*i + 7 * sizeof(uint32_t); > + if (has_64bit_addr) > + reloc[2*i+1].offset += sizeof(uint32_t); > + reloc[2*i+1].delta = 0; > + reloc[2*i+1].target_handle = execbuf.flags & I915_EXEC_HANDLE_LUT ? SRC : src; > + reloc[2*i+1].presumed_offset = src_offset; > + reloc[2*i+1].read_domains = I915_GEM_DOMAIN_RENDER; > + reloc[2*i+1].write_domain = 0; > + } > + exec[BATCH].relocation_count = 2; > + } else { > + exec[DST].flags |= EXEC_OBJECT_PINNED; > + exec[SRC].flags = EXEC_OBJECT_PINNED; > + } > execbuf.buffer_count = 3; > execbuf.flags |= I915_EXEC_NO_RELOC; > if (gem_has_blt(fd)) > @@ -159,19 +165,19 @@ static void test_streaming(int fd, int mode, int sync) > int k = 0; > > b[k] = COPY_BLT_CMD | BLT_WRITE_ARGB; > - if (has_64bit_reloc) > + if (has_64bit_addr) > b[k] += 2; > k++; > b[k++] = 0xcc << 16 | 1 << 25 | 1 << 24 | 4096; > b[k++] = (y << 16) | x; > b[k++] = ((y+1) << 16) | (x + (CHUNK_SIZE >> 2)); > b[k++] = dst_offset; > - if (has_64bit_reloc) > + if (has_64bit_addr) > b[k++] = dst_offset >> 32; > b[k++] = (y << 16) | x; > b[k++] = 4096; > b[k++] = src_offset; > - if (has_64bit_reloc) > + if (has_64bit_addr) > b[k++] = src_offset >> 32; > b[k++] = MI_BATCH_BUFFER_END; > > @@ -205,7 +211,8 @@ static void test_streaming(int fd, int mode, int sync) > > b = offset / CHUNK_SIZE / 64; > n = offset / CHUNK_SIZE % 64; > - exec[BATCH].relocs_ptr = to_user_pointer((reloc + 2*n)); > + if (do_relocs) > + exec[BATCH].relocs_ptr = to_user_pointer((reloc + 2*n)); > exec[BATCH].handle = batch[b].handle; > exec[BATCH].offset = batch[b].offset; > execbuf.batch_start_offset = 64*n; > @@ -234,7 +241,8 @@ static void test_streaming(int fd, int mode, int sync) > > static void test_batch(int fd, int mode, int reverse) > { > - const int has_64bit_reloc = intel_gen(intel_get_drm_devid(fd)) >= 8; > + const bool has_64bit_addr = intel_gen(intel_get_drm_devid(fd)) >= 8; > + const bool do_relocs = gem_has_relocations(fd); > struct drm_i915_gem_execbuffer2 execbuf; > struct drm_i915_gem_exec_object2 exec[3]; > struct drm_i915_gem_relocation_entry reloc[2]; > @@ -254,26 +262,28 @@ static void test_batch(int fd, int mode, int reverse) > > d = gem_mmap__cpu(fd, dst, 0, OBJECT_SIZE, PROT_READ); > > - memset(reloc, 0, sizeof(reloc)); > - reloc[0].offset = 4 * sizeof(uint32_t); > - reloc[0].delta = 0; > - reloc[0].target_handle = execbuf.flags & I915_EXEC_HANDLE_LUT ? DST : dst; > - reloc[0].presumed_offset = dst_offset; > - reloc[0].read_domains = I915_GEM_DOMAIN_RENDER; > - reloc[0].write_domain = I915_GEM_DOMAIN_RENDER; > - > - reloc[1].offset = 7 * sizeof(uint32_t); > - if (has_64bit_reloc) > - reloc[1].offset += sizeof(uint32_t); > - reloc[1].delta = 0; > - reloc[1].target_handle = execbuf.flags & I915_EXEC_HANDLE_LUT ? SRC : src; > - reloc[1].presumed_offset = src_offset; > - reloc[1].read_domains = I915_GEM_DOMAIN_RENDER; > - reloc[1].write_domain = 0; > - > + if (do_relocs) { > + memset(reloc, 0, sizeof(reloc)); > + reloc[0].offset = 4 * sizeof(uint32_t); > + reloc[0].delta = 0; > + reloc[0].target_handle = execbuf.flags & I915_EXEC_HANDLE_LUT ? DST : dst; > + reloc[0].presumed_offset = dst_offset; > + reloc[0].read_domains = I915_GEM_DOMAIN_RENDER; > + reloc[0].write_domain = I915_GEM_DOMAIN_RENDER; > + > + reloc[1].offset = 7 * sizeof(uint32_t); > + if (has_64bit_addr) > + reloc[1].offset += sizeof(uint32_t); > + reloc[1].delta = 0; > + reloc[1].target_handle = execbuf.flags & I915_EXEC_HANDLE_LUT ? SRC : src; > + reloc[1].presumed_offset = src_offset; > + reloc[1].read_domains = I915_GEM_DOMAIN_RENDER; > + reloc[1].write_domain = 0; > + > + exec[BATCH].relocs_ptr = to_user_pointer(reloc); > + exec[BATCH].relocation_count = 2; > + } > batch_size = ALIGN(OBJECT_SIZE / CHUNK_SIZE * 128, 4096); > - exec[BATCH].relocs_ptr = to_user_pointer(reloc); > - exec[BATCH].relocation_count = 2; > exec[BATCH].handle = gem_create(fd, batch_size); > > switch (mode) { > @@ -308,8 +318,13 @@ static void test_batch(int fd, int mode, int reverse) > exec[DST].flags = EXEC_OBJECT_WRITE; > /* We assume that the active objects are fixed to avoid relocations */ > exec[BATCH].relocation_count = 0; > + exec[BATCH].relocs_ptr = 0; > __src_offset = src_offset; > __dst_offset = dst_offset; > + if (!do_relocs) { > + exec[DST].flags |= EXEC_OBJECT_PINNED; > + exec[SRC].flags = EXEC_OBJECT_PINNED; > + } > > offset = mode ? I915_GEM_DOMAIN_GTT : I915_GEM_DOMAIN_CPU; > gem_set_domain(fd, exec[BATCH].handle, offset, offset); > @@ -334,19 +349,19 @@ static void test_batch(int fd, int mode, int reverse) > k = execbuf.batch_start_offset / 4; > > base[k] = COPY_BLT_CMD | BLT_WRITE_ARGB; > - if (has_64bit_reloc) > + if (has_64bit_addr) > base[k] += 2; > k++; > base[k++] = 0xcc << 16 | 1 << 25 | 1 << 24 | 4096; > base[k++] = (y << 16) | x; > base[k++] = ((y+1) << 16) | (x + (CHUNK_SIZE >> 2)); > base[k++] = dst_offset; > - if (has_64bit_reloc) > + if (has_64bit_addr) > base[k++] = dst_offset >> 32; > base[k++] = (y << 16) | x; > base[k++] = 4096; > base[k++] = src_offset; > - if (has_64bit_reloc) > + if (has_64bit_addr) > base[k++] = src_offset >> 32; > base[k++] = MI_BATCH_BUFFER_END; > > -- > 2.25.1 > Code looks ok so it should handle softpin properly. Only check I need to add before merge is to check mappable aperture - test won't run on discrete due to lack of gtt mapping. Anyway: Reviewed-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com> -- Zbigniew ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2021-08-10 7:09 UTC | newest] Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2021-08-03 7:38 [igt-dev] [PATCH i-g-t 0/2] Keep tests working without relocations 2 Andrzej Turko 2021-08-03 7:38 ` [igt-dev] [PATCH i-g-t 1/2] tests/i915/gem_streaming_writes: Support gens without relocations Andrzej Turko 2021-08-03 7:38 ` [igt-dev] [PATCH i-g-t 2/2] tests/i915/gem_exec_lut_handle: Require relocation support Andrzej Turko 2021-08-03 8:11 ` [igt-dev] ✓ Fi.CI.BAT: success for Keep tests working without relocations 2 Patchwork 2021-08-03 10:53 ` [igt-dev] ✗ GitLab.Pipeline: warning " Patchwork 2021-08-03 18:09 ` [igt-dev] ✓ Fi.CI.IGT: success " Patchwork 2021-08-09 13:20 [igt-dev] [PATCH i-g-t 0/2] Keep tests working without relocations Andrzej Turko 2021-08-09 13:20 ` [igt-dev] [PATCH i-g-t 1/2] tests/i915/gem_streaming_writes: Support gens " Andrzej Turko 2021-08-10 7:09 ` Zbigniew Kempczyński
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.