* [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
` (3 more replies)
0 siblings, 4 replies; 6+ 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] 6+ 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
2021-08-09 13:20 ` [igt-dev] [PATCH i-g-t 2/2] HAX: Add the tests to fast feedback Andrzej Turko
` (2 subsequent siblings)
3 siblings, 1 reply; 6+ 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] 6+ messages in thread
* [igt-dev] [PATCH i-g-t 2/2] HAX: Add the tests to fast feedback
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-09 13:20 ` Andrzej Turko
2021-08-09 14:15 ` [igt-dev] ✗ Fi.CI.BAT: failure for Keep tests working without relocations (rev8) Patchwork
2021-08-09 16:51 ` [igt-dev] ✗ GitLab.Pipeline: warning " Patchwork
3 siblings, 0 replies; 6+ messages in thread
From: Andrzej Turko @ 2021-08-09 13:20 UTC (permalink / raw)
To: igt-dev; +Cc: Andrzej Turko
Signed-off-by: Andrzej Turko <andrzej.turko@linux.intel.com>
---
tests/intel-ci/fast-feedback.testlist | 185 ++------------------------
1 file changed, 13 insertions(+), 172 deletions(-)
diff --git a/tests/intel-ci/fast-feedback.testlist b/tests/intel-ci/fast-feedback.testlist
index fa5006d2e..ab1691776 100644
--- a/tests/intel-ci/fast-feedback.testlist
+++ b/tests/intel-ci/fast-feedback.testlist
@@ -1,175 +1,16 @@
# Keep alphabetically sorted by default
-igt@core_auth@basic-auth
-igt@debugfs_test@read_all_entries
-igt@fbdev@eof
-igt@fbdev@info
-igt@fbdev@nullptr
-igt@fbdev@read
-igt@fbdev@write
-igt@gem_basic@bad-close
-igt@gem_basic@create-close
-igt@gem_basic@create-fd-close
-igt@gem_busy@busy@all
-igt@gem_close_race@basic-process
-igt@gem_close_race@basic-threads
-igt@gem_ctx_create@basic
-igt@gem_ctx_create@basic-files
-igt@gem_ctx_exec@basic
-igt@gem_exec_basic@basic
-igt@gem_exec_create@basic
-igt@gem_exec_fence@basic-busy
-igt@gem_exec_fence@basic-wait
-igt@gem_exec_fence@basic-await
-igt@gem_exec_fence@nb-await
-igt@gem_exec_gttfill@basic
-igt@gem_exec_parallel@engines
-igt@gem_exec_store@basic
-igt@gem_exec_suspend@basic-s0
-igt@gem_exec_suspend@basic-s3
-igt@gem_flink_basic@bad-flink
-igt@gem_flink_basic@bad-open
-igt@gem_flink_basic@basic
-igt@gem_flink_basic@double-flink
-igt@gem_flink_basic@flink-lifetime
-igt@gem_huc_copy@huc-copy
-igt@gem_linear_blits@basic
-igt@gem_mmap@basic
-igt@gem_mmap_gtt@basic
-igt@gem_render_linear_blits@basic
-igt@gem_render_tiled_blits@basic
-igt@gem_ringfill@basic-all
-igt@gem_softpin@allocator-basic
-igt@gem_softpin@allocator-basic-reserve
-igt@gem_sync@basic-all
-igt@gem_sync@basic-each
-igt@gem_tiled_blits@basic
-igt@gem_tiled_fence_blits@basic
-igt@gem_tiled_pread_basic
-igt@gem_wait@busy@all
-igt@gem_wait@wait@all
-igt@i915_getparams_basic@basic-eu-total
-igt@i915_getparams_basic@basic-subslice-total
-igt@i915_hangman@error-state-basic
-igt@kms_addfb_basic@addfb25-bad-modifier
-igt@kms_addfb_basic@addfb25-framebuffer-vs-set-tiling
-igt@kms_addfb_basic@addfb25-modifier-no-flag
-igt@kms_addfb_basic@addfb25-x-tiled-legacy
-igt@kms_addfb_basic@addfb25-x-tiled-mismatch-legacy
-igt@kms_addfb_basic@addfb25-yf-tiled-legacy
-igt@kms_addfb_basic@addfb25-y-tiled-legacy
-igt@kms_addfb_basic@addfb25-y-tiled-small-legacy
-igt@kms_addfb_basic@bad-pitch-0
-igt@kms_addfb_basic@bad-pitch-1024
-igt@kms_addfb_basic@bad-pitch-128
-igt@kms_addfb_basic@bad-pitch-256
-igt@kms_addfb_basic@bad-pitch-32
-igt@kms_addfb_basic@bad-pitch-63
-igt@kms_addfb_basic@bad-pitch-65536
-igt@kms_addfb_basic@bad-pitch-999
-igt@kms_addfb_basic@basic
-igt@kms_addfb_basic@basic-x-tiled-legacy
-igt@kms_addfb_basic@basic-y-tiled-legacy
-igt@kms_addfb_basic@bo-too-small
-igt@kms_addfb_basic@bo-too-small-due-to-tiling
-igt@kms_addfb_basic@clobberred-modifier
-igt@kms_addfb_basic@framebuffer-vs-set-tiling
-igt@kms_addfb_basic@invalid-get-prop
-igt@kms_addfb_basic@invalid-get-prop-any
-igt@kms_addfb_basic@invalid-set-prop
-igt@kms_addfb_basic@invalid-set-prop-any
-igt@kms_addfb_basic@no-handle
-igt@kms_addfb_basic@size-max
-igt@kms_addfb_basic@small-bo
-igt@kms_addfb_basic@tile-pitch-mismatch
-igt@kms_addfb_basic@too-high
-igt@kms_addfb_basic@too-wide
-igt@kms_addfb_basic@unused-handle
-igt@kms_addfb_basic@unused-modifier
-igt@kms_addfb_basic@unused-offsets
-igt@kms_addfb_basic@unused-pitches
-igt@kms_busy@basic
-igt@kms_chamelium@dp-hpd-fast
-igt@kms_chamelium@dp-edid-read
-igt@kms_chamelium@dp-crc-fast
-igt@kms_chamelium@hdmi-hpd-fast
-igt@kms_chamelium@hdmi-edid-read
-igt@kms_chamelium@hdmi-crc-fast
-igt@kms_chamelium@vga-hpd-fast
-igt@kms_chamelium@vga-edid-read
-igt@kms_chamelium@common-hpd-after-suspend
-igt@kms_prop_blob@basic
-igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic
-igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy
-igt@kms_cursor_legacy@basic-flip-after-cursor-atomic
-igt@kms_cursor_legacy@basic-flip-after-cursor-legacy
-igt@kms_cursor_legacy@basic-flip-after-cursor-varying-size
-igt@kms_cursor_legacy@basic-flip-before-cursor-atomic
-igt@kms_cursor_legacy@basic-flip-before-cursor-legacy
-igt@kms_cursor_legacy@basic-flip-before-cursor-varying-size
-igt@kms_flip@basic-flip-vs-dpms
-igt@kms_flip@basic-flip-vs-modeset
-igt@kms_flip@basic-flip-vs-wf_vblank
-igt@kms_flip@basic-plain-flip
-igt@kms_force_connector_basic@force-connector-state
-igt@kms_force_connector_basic@force-edid
-igt@kms_force_connector_basic@force-load-detect
-igt@kms_force_connector_basic@prune-stale-modes
-igt@kms_frontbuffer_tracking@basic
-igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-a
-igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-b
-igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-c
-igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-d
-igt@kms_pipe_crc_basic@hang-read-crc-pipe-a
-igt@kms_pipe_crc_basic@nonblocking-crc-pipe-a
-igt@kms_pipe_crc_basic@nonblocking-crc-pipe-a-frame-sequence
-igt@kms_pipe_crc_basic@read-crc-pipe-a
-igt@kms_pipe_crc_basic@read-crc-pipe-b
-igt@kms_pipe_crc_basic@read-crc-pipe-c
-igt@kms_pipe_crc_basic@read-crc-pipe-a-frame-sequence
-igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a
-igt@kms_psr@primary_page_flip
-igt@kms_psr@cursor_plane_move
-igt@kms_psr@sprite_plane_onoff
-igt@kms_psr@primary_mmap_gtt
-igt@kms_setmode@basic-clone-single-crtc
-igt@i915_pm_backlight@basic-brightness
-igt@i915_pm_rpm@basic-pci-d3-state
-igt@i915_pm_rpm@basic-rte
-igt@i915_pm_rps@basic-api
-igt@prime_self_import@basic-llseek-bad
-igt@prime_self_import@basic-llseek-size
-igt@prime_self_import@basic-with_fd_dup
-igt@prime_self_import@basic-with_one_bo
-igt@prime_self_import@basic-with_one_bo_two_files
-igt@prime_self_import@basic-with_two_bos
-igt@prime_vgem@basic-fence-flip
-igt@prime_vgem@basic-fence-mmap
-igt@prime_vgem@basic-fence-read
-igt@prime_vgem@basic-gtt
-igt@prime_vgem@basic-read
-igt@prime_vgem@basic-write
-igt@prime_vgem@basic-userptr
-igt@vgem_basic@setversion
-igt@vgem_basic@create
-igt@vgem_basic@debugfs
-igt@vgem_basic@dmabuf-export
-igt@vgem_basic@dmabuf-fence
-igt@vgem_basic@dmabuf-fence-before
-igt@vgem_basic@dmabuf-mmap
-igt@vgem_basic@mmap
-igt@vgem_basic@second-client
-igt@vgem_basic@sysfs
-# All tests that do module unloading and reloading are executed last.
-# They will sometimes reveal issues of earlier tests leaving the
-# driver in a broken state that is not otherwise noticed in that test.
-
-igt@core_hotunplug@unbind-rebind
-igt@vgem_basic@unload
-igt@i915_module_load@reload
-igt@i915_pm_rpm@module-reload
-
-# Kernel selftests
-igt@i915_selftest@live
-igt@dmabuf@all
+igt@gem_streaming_writes@batch-cpu
+igt@gem_streaming_writes@batch-gtt
+igt@gem_streaming_writes@batch-reverse-cpu
+igt@gem_streaming_writes@batch-reverse-gtt
+igt@gem_streaming_writes@batch-reverse-wc
+igt@gem_streaming_writes@batch-wc
+igt@gem_streaming_writes@cpu
+igt@gem_streaming_writes@cpu-sync
+igt@gem_streaming_writes@gtt
+igt@gem_streaming_writes@gtt-sync
+igt@gem_streaming_writes@wc
+igt@gem_streaming_writes@wc-sync
+igt@meta_test@fail-result
--
2.25.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [igt-dev] ✗ Fi.CI.BAT: failure for Keep tests working without relocations (rev8)
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-09 13:20 ` [igt-dev] [PATCH i-g-t 2/2] HAX: Add the tests to fast feedback Andrzej Turko
@ 2021-08-09 14:15 ` Patchwork
2021-08-09 16:51 ` [igt-dev] ✗ GitLab.Pipeline: warning " Patchwork
3 siblings, 0 replies; 6+ messages in thread
From: Patchwork @ 2021-08-09 14:15 UTC (permalink / raw)
To: Andrzej Turko; +Cc: igt-dev
[-- Attachment #1: Type: text/plain, Size: 13121 bytes --]
== Series Details ==
Series: Keep tests working without relocations (rev8)
URL : https://patchwork.freedesktop.org/series/90049/
State : failure
== Summary ==
CI Bug Log - changes from CI_DRM_10460 -> IGTPW_6101
====================================================
Summary
-------
**FAILURE**
Serious unknown changes coming with IGTPW_6101 absolutely need to be
verified manually.
If you think the reported changes have nothing to do with the changes
introduced in IGTPW_6101, please notify your bug team to allow them
to document this new failure mode, which will reduce false positives in CI.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6101/index.html
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in IGTPW_6101:
### IGT changes ###
#### Possible regressions ####
* {igt@gem_streaming_writes@batch-cpu} (NEW):
- {fi-jsl-1}: NOTRUN -> [TIMEOUT][1] +10 similar issues
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6101/fi-jsl-1/igt@gem_streaming_writes@batch-cpu.html
- fi-rkl-guc: NOTRUN -> [TIMEOUT][2] +10 similar issues
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6101/fi-rkl-guc/igt@gem_streaming_writes@batch-cpu.html
- fi-cml-u2: NOTRUN -> [TIMEOUT][3] +10 similar issues
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6101/fi-cml-u2/igt@gem_streaming_writes@batch-cpu.html
* {igt@gem_streaming_writes@batch-gtt} (NEW):
- {fi-ehl-2}: NOTRUN -> [TIMEOUT][4] +10 similar issues
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6101/fi-ehl-2/igt@gem_streaming_writes@batch-gtt.html
- fi-rkl-11600: NOTRUN -> [TIMEOUT][5] +10 similar issues
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6101/fi-rkl-11600/igt@gem_streaming_writes@batch-gtt.html
- {fi-hsw-gt1}: NOTRUN -> [TIMEOUT][6] +10 similar issues
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6101/fi-hsw-gt1/igt@gem_streaming_writes@batch-gtt.html
* {igt@gem_streaming_writes@batch-reverse-cpu} (NEW):
- fi-kbl-soraka: NOTRUN -> [TIMEOUT][7] +10 similar issues
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6101/fi-kbl-soraka/igt@gem_streaming_writes@batch-reverse-cpu.html
* {igt@gem_streaming_writes@batch-reverse-gtt} (NEW):
- fi-kbl-guc: NOTRUN -> [TIMEOUT][8] +10 similar issues
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6101/fi-kbl-guc/igt@gem_streaming_writes@batch-reverse-gtt.html
- fi-icl-y: NOTRUN -> [TIMEOUT][9] +10 similar issues
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6101/fi-icl-y/igt@gem_streaming_writes@batch-reverse-gtt.html
- fi-bdw-gvtdvm: NOTRUN -> [TIMEOUT][10] +9 similar issues
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6101/fi-bdw-gvtdvm/igt@gem_streaming_writes@batch-reverse-gtt.html
- fi-kbl-7500u: NOTRUN -> [TIMEOUT][11] +10 similar issues
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6101/fi-kbl-7500u/igt@gem_streaming_writes@batch-reverse-gtt.html
- fi-icl-u2: NOTRUN -> [TIMEOUT][12] +10 similar issues
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6101/fi-icl-u2/igt@gem_streaming_writes@batch-reverse-gtt.html
- {fi-tgl-dsi}: NOTRUN -> [TIMEOUT][13] +10 similar issues
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6101/fi-tgl-dsi/igt@gem_streaming_writes@batch-reverse-gtt.html
- fi-cfl-8700k: NOTRUN -> [TIMEOUT][14] +10 similar issues
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6101/fi-cfl-8700k/igt@gem_streaming_writes@batch-reverse-gtt.html
- fi-apl-guc: NOTRUN -> [TIMEOUT][15] +9 similar issues
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6101/fi-apl-guc/igt@gem_streaming_writes@batch-reverse-gtt.html
- fi-snb-2520m: NOTRUN -> [TIMEOUT][16] +10 similar issues
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6101/fi-snb-2520m/igt@gem_streaming_writes@batch-reverse-gtt.html
* {igt@gem_streaming_writes@batch-reverse-wc} (NEW):
- fi-tgl-1115g4: NOTRUN -> [TIMEOUT][17] +10 similar issues
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6101/fi-tgl-1115g4/igt@gem_streaming_writes@batch-reverse-wc.html
- fi-bxt-dsi: NOTRUN -> [TIMEOUT][18] +9 similar issues
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6101/fi-bxt-dsi/igt@gem_streaming_writes@batch-reverse-wc.html
- fi-hsw-4770: NOTRUN -> [TIMEOUT][19] +10 similar issues
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6101/fi-hsw-4770/igt@gem_streaming_writes@batch-reverse-wc.html
* {igt@gem_streaming_writes@batch-wc} (NEW):
- fi-skl-6700k2: NOTRUN -> [TIMEOUT][20] +10 similar issues
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6101/fi-skl-6700k2/igt@gem_streaming_writes@batch-wc.html
- fi-ivb-3770: NOTRUN -> [TIMEOUT][21] +10 similar issues
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6101/fi-ivb-3770/igt@gem_streaming_writes@batch-wc.html
* {igt@gem_streaming_writes@cpu} (NEW):
- fi-bsw-kefka: NOTRUN -> [TIMEOUT][22] +9 similar issues
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6101/fi-bsw-kefka/igt@gem_streaming_writes@cpu.html
- fi-cfl-guc: NOTRUN -> [TIMEOUT][23] +10 similar issues
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6101/fi-cfl-guc/igt@gem_streaming_writes@cpu.html
* {igt@gem_streaming_writes@cpu-sync} (NEW):
- fi-cfl-8109u: NOTRUN -> [TIMEOUT][24] +10 similar issues
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6101/fi-cfl-8109u/igt@gem_streaming_writes@cpu-sync.html
* {igt@gem_streaming_writes@gtt} (NEW):
- fi-glk-dsi: NOTRUN -> [TIMEOUT][25] +9 similar issues
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6101/fi-glk-dsi/igt@gem_streaming_writes@gtt.html
- fi-bsw-nick: NOTRUN -> [TIMEOUT][26] +7 similar issues
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6101/fi-bsw-nick/igt@gem_streaming_writes@gtt.html
- fi-kbl-8809g: NOTRUN -> [TIMEOUT][27] +10 similar issues
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6101/fi-kbl-8809g/igt@gem_streaming_writes@gtt.html
- fi-bwr-2160: NOTRUN -> [TIMEOUT][28] +7 similar issues
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6101/fi-bwr-2160/igt@gem_streaming_writes@gtt.html
- fi-kbl-7567u: NOTRUN -> [TIMEOUT][29] +10 similar issues
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6101/fi-kbl-7567u/igt@gem_streaming_writes@gtt.html
- fi-skl-guc: NOTRUN -> [TIMEOUT][30] +10 similar issues
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6101/fi-skl-guc/igt@gem_streaming_writes@gtt.html
* {igt@gem_streaming_writes@gtt-sync} (NEW):
- fi-elk-e7500: NOTRUN -> [TIMEOUT][31] +9 similar issues
[31]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6101/fi-elk-e7500/igt@gem_streaming_writes@gtt-sync.html
* {igt@gem_streaming_writes@wc-sync} (NEW):
- fi-ilk-650: NOTRUN -> [TIMEOUT][32] +9 similar issues
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6101/fi-ilk-650/igt@gem_streaming_writes@wc-sync.html
- fi-pnv-d510: NOTRUN -> [TIMEOUT][33] +9 similar issues
[33]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6101/fi-pnv-d510/igt@gem_streaming_writes@wc-sync.html
* igt@meta_test@fail-result (NEW):
- fi-apl-guc: NOTRUN -> [FAIL][34]
[34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6101/fi-apl-guc/igt@meta_test@fail-result.html
- fi-bxt-dsi: NOTRUN -> [FAIL][35]
[35]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6101/fi-bxt-dsi/igt@meta_test@fail-result.html
- fi-glk-dsi: NOTRUN -> [FAIL][36]
[36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6101/fi-glk-dsi/igt@meta_test@fail-result.html
- fi-bwr-2160: NOTRUN -> [FAIL][37]
[37]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6101/fi-bwr-2160/igt@meta_test@fail-result.html
New tests
---------
New tests have been introduced between CI_DRM_10460 and IGTPW_6101:
### New IGT tests (13) ###
* igt@gem_streaming_writes@batch-cpu:
- Statuses : 1 fail(s) 9 skip(s) 24 timeout(s)
- Exec time: [0.00, 121.29] s
* igt@gem_streaming_writes@batch-gtt:
- Statuses : 1 fail(s) 33 timeout(s)
- Exec time: [0.01, 121.51] s
* igt@gem_streaming_writes@batch-reverse-cpu:
- Statuses : 1 fail(s) 9 skip(s) 24 timeout(s)
- Exec time: [0.00, 121.47] s
* igt@gem_streaming_writes@batch-reverse-gtt:
- Statuses : 1 fail(s) 33 timeout(s)
- Exec time: [0.01, 121.48] s
* igt@gem_streaming_writes@batch-reverse-wc:
- Statuses : 1 fail(s) 33 timeout(s)
- Exec time: [0.01, 121.51] s
* igt@gem_streaming_writes@batch-wc:
- Statuses : 1 fail(s) 33 timeout(s)
- Exec time: [0.01, 122.13] s
* igt@gem_streaming_writes@cpu:
- Statuses : 2 skip(s) 32 timeout(s)
- Exec time: [0.0, 121.57] s
* igt@gem_streaming_writes@cpu-sync:
- Statuses : 2 skip(s) 32 timeout(s)
- Exec time: [0.0, 121.91] s
* igt@gem_streaming_writes@gtt:
- Statuses : 1 fail(s) 33 timeout(s)
- Exec time: [0.01, 121.72] s
* igt@gem_streaming_writes@gtt-sync:
- Statuses : 1 fail(s) 33 timeout(s)
- Exec time: [0.01, 121.78] s
* igt@gem_streaming_writes@wc:
- Statuses : 1 fail(s) 31 timeout(s)
- Exec time: [0.01, 120.94] s
* igt@gem_streaming_writes@wc-sync:
- Statuses : 1 fail(s) 8 timeout(s)
- Exec time: [0.01, 121.39] s
* igt@meta_test@fail-result:
- Statuses : 5 fail(s)
- Exec time: [0.00, 0.03] s
Known issues
------------
Here are the changes found in IGTPW_6101 that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@amdgpu/amd_cs_nop@nop-gfx0:
- fi-apl-guc: NOTRUN -> [SKIP][38] ([fdo#109271]) +19 similar issues
[38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6101/fi-apl-guc/igt@amdgpu/amd_cs_nop@nop-gfx0.html
* {igt@gem_streaming_writes@batch-cpu} (NEW):
- fi-bwr-2160: NOTRUN -> [SKIP][39] ([fdo#109271]) +3 similar issues
[39]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6101/fi-bwr-2160/igt@gem_streaming_writes@batch-cpu.html
- fi-glk-dsi: NOTRUN -> [SKIP][40] ([fdo#109271]) +1 similar issue
[40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6101/fi-glk-dsi/igt@gem_streaming_writes@batch-cpu.html
- fi-bsw-kefka: NOTRUN -> [SKIP][41] ([fdo#109271]) +1 similar issue
[41]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6101/fi-bsw-kefka/igt@gem_streaming_writes@batch-cpu.html
- fi-pnv-d510: NOTRUN -> [SKIP][42] ([fdo#109271]) +1 similar issue
[42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6101/fi-pnv-d510/igt@gem_streaming_writes@batch-cpu.html
* {igt@gem_streaming_writes@batch-reverse-cpu} (NEW):
- fi-bsw-nick: NOTRUN -> [SKIP][43] ([fdo#109271]) +1 similar issue
[43]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6101/fi-bsw-nick/igt@gem_streaming_writes@batch-reverse-cpu.html
- fi-bxt-dsi: NOTRUN -> [SKIP][44] ([fdo#109271]) +1 similar issue
[44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6101/fi-bxt-dsi/igt@gem_streaming_writes@batch-reverse-cpu.html
- fi-ilk-650: NOTRUN -> [SKIP][45] ([fdo#109271]) +1 similar issue
[45]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6101/fi-ilk-650/igt@gem_streaming_writes@batch-reverse-cpu.html
- fi-elk-e7500: NOTRUN -> [SKIP][46] ([fdo#109271]) +1 similar issue
[46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6101/fi-elk-e7500/igt@gem_streaming_writes@batch-reverse-cpu.html
* {igt@gem_streaming_writes@cpu-sync} (NEW):
- {fi-dg1-1}: NOTRUN -> [SKIP][47] ([i915#3717]) +1 similar issue
[47]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6101/fi-dg1-1/igt@gem_streaming_writes@cpu-sync.html
* {igt@gem_streaming_writes@gtt-sync} (NEW):
- {fi-dg1-1}: NOTRUN -> [FAIL][48] ([i915#3717]) +10 similar issues
[48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6101/fi-dg1-1/igt@gem_streaming_writes@gtt-sync.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
[i915#3717]: https://gitlab.freedesktop.org/drm/intel/issues/3717
Participating hosts (37 -> 34)
------------------------------
Missing (3): fi-bdw-samus fi-bsw-cyan bat-jsl-1
Build changes
-------------
* CI: CI-20190529 -> None
* IGT: IGT_6163 -> IGTPW_6101
CI-20190529: 20190529
CI_DRM_10460: 933d74e4ff60d39ff929b26780dca84412551174 @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_6101: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6101/index.html
IGT_6163: 9f9d82df8c8e68c304e84aba717a9937b65e10e6 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6101/index.html
[-- Attachment #2: Type: text/html, Size: 15726 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* [igt-dev] ✗ GitLab.Pipeline: warning for Keep tests working without relocations (rev8)
2021-08-09 13:20 [igt-dev] [PATCH i-g-t 0/2] Keep tests working without relocations Andrzej Turko
` (2 preceding siblings ...)
2021-08-09 14:15 ` [igt-dev] ✗ Fi.CI.BAT: failure for Keep tests working without relocations (rev8) Patchwork
@ 2021-08-09 16:51 ` Patchwork
3 siblings, 0 replies; 6+ messages in thread
From: Patchwork @ 2021-08-09 16:51 UTC (permalink / raw)
To: Andrzej Turko; +Cc: igt-dev
== Series Details ==
Series: Keep tests working without relocations (rev8)
URL : https://patchwork.freedesktop.org/series/90049/
State : warning
== Summary ==
Pipeline status: FAILED.
see https://gitlab.freedesktop.org/gfx-ci/igt-ci-tags/-/pipelines/377806 for the overview.
test:ninja-test has failed (https://gitlab.freedesktop.org/gfx-ci/igt-ci-tags/-/jobs/12626785):
298/305 assembler test/rndd OK 0.02 s
299/305 assembler test/rndu OK 0.02 s
300/305 assembler test/rnde OK 0.01 s
301/305 assembler test/rnde-intsrc OK 0.02 s
302/305 assembler test/rndz OK 0.02 s
303/305 assembler test/lzd OK 0.01 s
304/305 assembler test/not OK 0.02 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:1628527723:step_script
ERROR: Job failed: execution took longer than 1h0m0s seconds
test:ninja-test-arm64 has failed (https://gitlab.freedesktop.org/gfx-ci/igt-ci-tags/-/jobs/12626787):
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.09 s
section_end:1628527728:step_script
ERROR: Job failed: execution took longer than 1h0m0s seconds
test:ninja-test-armhf has failed (https://gitlab.freedesktop.org/gfx-ci/igt-ci-tags/-/jobs/12626788):
1/291 lib igt_assert TIMEOUT 32.08 s
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
section_end:1628527729: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/12626786):
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.02 s
302/305 assembler test/rndz OK 0.01 s
303/305 assembler test/lzd OK 0.02 s
304/305 assembler test/not OK 0.02 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:1628527728:step_script
ERROR: Job failed: execution took longer than 1h0m0s seconds
test:ninja-test-mips has failed (https://gitlab.freedesktop.org/gfx-ci/igt-ci-tags/-/jobs/12626789):
1/291 lib igt_assert TIMEOUT 32.03 s
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
section_end:1628527729: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/377806
^ permalink raw reply [flat|nested] 6+ 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; 6+ 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] 6+ messages in thread
end of thread, other threads:[~2021-08-10 7:09 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
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
2021-08-09 13:20 ` [igt-dev] [PATCH i-g-t 2/2] HAX: Add the tests to fast feedback Andrzej Turko
2021-08-09 14:15 ` [igt-dev] ✗ Fi.CI.BAT: failure for Keep tests working without relocations (rev8) Patchwork
2021-08-09 16:51 ` [igt-dev] ✗ GitLab.Pipeline: warning " Patchwork
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.