Skip to contentSkip to conversation

tests/i915/gem_sync: Add support for local memory

PATCH In review [email protected] 3 participants 4 messages Dec 24, 2021 – Jan 3, 2022

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 tests/i915/gem_sync: Add support for local memory

From: Ch Sai Gowtham <[email protected]>

Add support for local memory region (Device memory)

Cc Zbigniew Kempczyński <[email protected]>
---
 tests/i915/gem_sync.c | 193 ++++++++++++++++++++++++++++--------------
 1 file changed, 131 insertions(+), 62 deletions(-)
tests/i915/gem_sync.c +131 -62
index 8c435845..8f8be2b1 100644
@@ -143,9 +143,20 @@ static void xchg_engine(void *array, unsigned i, unsigned j)
 	igt_swap(E[i], E[j]);
 }
 
+static uint32_t batch_create(int fd, uint32_t batch_size, uint32_t region)
+{
+	const uint32_t bbe = MI_BATCH_BUFFER_END;
+	uint32_t handle;
+
+	handle = gem_create_in_memory_regions(fd, 4096, region);
+	gem_write(fd, handle, 0, &bbe, sizeof(bbe));
+
+	return handle;
+}
+
 static void
 sync_ring(int fd, const intel_ctx_t *ctx,
-	  unsigned ring, int num_children, int timeout)
+	  unsigned ring, int num_children, int timeout, uint32_t region)
 {
 	struct intel_engine_data ied;
 
@@ -155,15 +166,13 @@ sync_ring(int fd, const intel_ctx_t *ctx,
 
 	intel_detect_and_clear_missed_interrupts(fd);
 	igt_fork(child, num_children) {
-		const uint32_t bbe = MI_BATCH_BUFFER_END;
 		struct drm_i915_gem_exec_object2 object;
 		struct drm_i915_gem_execbuffer2 execbuf;
 		double start, elapsed;
 		unsigned long cycles;
 
 		memset(&object, 0, sizeof(object));
-		object.handle = gem_create(fd, 4096);
-		gem_write(fd, object.handle, 0, &bbe, sizeof(bbe));
+		object.handle = batch_create(fd, 4096, region);
 
 		memset(&execbuf, 0, sizeof(execbuf));
 		execbuf.buffers_ptr = to_user_pointer(&object);
@@ -193,9 +202,8 @@ sync_ring(int fd, const intel_ctx_t *ctx,
 
 static void
 idle_ring(int fd, const intel_ctx_t *ctx, unsigned int ring,
-	  int num_children, int timeout)
+	  int num_children, int timeout, uint32_t region)
 {
-	const uint32_t bbe = MI_BATCH_BUFFER_END;
 	struct drm_i915_gem_exec_object2 object;
 	struct drm_i915_gem_execbuffer2 execbuf;
 	double start, elapsed;
@@ -204,8 +212,7 @@ idle_ring(int fd, const intel_ctx_t *ctx, unsigned int ring,
 	gem_require_ring(fd, ring);
 
 	memset(&object, 0, sizeof(object));
-	object.handle = gem_create(fd, 4096);
-	gem_write(fd, object.handle, 0, &bbe, sizeof(bbe));
+	object.handle = batch_create(fd, 4096, region);
 
 	memset(&execbuf, 0, sizeof(execbuf));
 	execbuf.buffers_ptr = to_user_pointer(&object);
@@ -234,7 +241,7 @@ idle_ring(int fd, const intel_ctx_t *ctx, unsigned int ring,
 
 static void
 wakeup_ring(int fd, const intel_ctx_t *ctx, unsigned ring,
-	    int timeout, int wlen)
+	    int timeout, int wlen, uint32_t region)
 {
 	struct intel_engine_data ied;
 	uint64_t ahnd = get_reloc_ahnd(fd, ctx->id);
@@ -254,7 +261,7 @@ wakeup_ring(int fd, const intel_ctx_t *ctx, unsigned ring,
 		ahnd = get_reloc_ahnd(fd, ctx->id);
 
 		memset(&object, 0, sizeof(object));
-		object.handle = gem_create(fd, 4096);
+		object.handle = gem_create_in_memory_regions(fd, 4096, region);
 		object.offset = get_offset(ahnd, object.handle, 4096, 0);
 		if (ahnd)
 			object.flags = EXEC_OBJECT_PINNED;
@@ -339,7 +346,7 @@ wakeup_ring(int fd, const intel_ctx_t *ctx, unsigned ring,
 }
 
 static void active_ring(int fd, const intel_ctx_t *ctx, unsigned int ring,
-			int num_children, int timeout)
+			int num_children, int timeout, uint32_t region)
 {
 	struct intel_engine_data ied;
 	uint64_t ahnd = get_reloc_ahnd(fd, ctx->id);
@@ -398,7 +405,7 @@ static void active_ring(int fd, const intel_ctx_t *ctx, unsigned int ring,
 
 static void
 active_wakeup_ring(int fd, const intel_ctx_t *ctx, unsigned ring,
-		   int timeout, int wlen)
+		   int timeout, int wlen, uint32_t region)
 {
 	struct intel_engine_data ied;
 	uint64_t ahnd0 = get_reloc_ahnd(fd, 0);
@@ -420,7 +427,7 @@ active_wakeup_ring(int fd, const intel_ctx_t *ctx, unsigned ring,
 		ahnd = get_reloc_ahnd(fd, ctx->id);
 
 		memset(&object, 0, sizeof(object));
-		object.handle = gem_create(fd, 4096);
+		object.handle = gem_create_in_memory_regions(fd, 4096, region);
 		object.offset = get_offset(ahnd, object.handle, 4096, 0);
 		if (ahnd)
 			object.offset = EXEC_OBJECT_PINNED;
@@ -529,7 +536,7 @@ active_wakeup_ring(int fd, const intel_ctx_t *ctx, unsigned ring,
 
 static void
 store_ring(int fd, const intel_ctx_t *ctx, unsigned ring,
-	   int num_children, int timeout)
+	   int num_children, int timeout, uint32_t region)
 {
 	const unsigned int gen = intel_gen(intel_get_drm_devid(fd));
 	struct intel_engine_data ied;
@@ -541,7 +548,6 @@ store_ring(int fd, const intel_ctx_t *ctx, unsigned ring,
 
 	intel_detect_and_clear_missed_interrupts(fd);
 	igt_fork(child, num_children) {
-		const uint32_t bbe = MI_BATCH_BUFFER_END;
 		struct drm_i915_gem_exec_object2 object[2];
 		struct drm_i915_gem_relocation_entry reloc[1024];
 		struct drm_i915_gem_execbuffer2 execbuf;
@@ -559,14 +565,13 @@ store_ring(int fd, const intel_ctx_t *ctx, unsigned ring,
 		execbuf.rsvd1 = ctx->id;
 
 		memset(object, 0, sizeof(object));
-		object[0].handle = gem_create(fd, 4096);
-		gem_write(fd, object[0].handle, 0, &bbe, sizeof(bbe));
+		object[0].handle = batch_create(fd, 4096, region);
 		execbuf.buffer_count = 1;
 		gem_execbuf(fd, &execbuf);
 
 		object[0].flags |= EXEC_OBJECT_WRITE;
 		object[0].flags |= has_relocs ? 0 : EXEC_OBJECT_PINNED;
-		object[1].handle = gem_create(fd, 20*1024);
+		object[1].handle = gem_create_in_memory_regions(fd, 20*1024, region);
 
 		object[1].relocs_ptr = to_user_pointer(reloc);
 		object[1].relocation_count = has_relocs ? 1024 : 0;
@@ -629,7 +634,7 @@ store_ring(int fd, const intel_ctx_t *ctx, unsigned ring,
 
 static void
 switch_ring(int fd, const intel_ctx_t *ctx, unsigned ring,
-	    int num_children, int timeout)
+	    int num_children, int timeout, uint32_t region)
 {
 	const unsigned int gen = intel_gen(intel_get_drm_devid(fd));
 	struct intel_engine_data ied;
@@ -653,7 +658,6 @@ switch_ring(int fd, const intel_ctx_t *ctx, unsigned ring,
 		unsigned long cycles;
 
 		for (int i = 0; i < ARRAY_SIZE(contexts); i++) {
-			const uint32_t bbe = MI_BATCH_BUFFER_END;
 			const uint32_t sz = 32 << 10;
 			struct context *c = &contexts[i];
 			uint32_t *batch, *b;
@@ -670,13 +674,12 @@ switch_ring(int fd, const intel_ctx_t *ctx, unsigned ring,
 			c->execbuf.rsvd1 = c->ctx->id;
 
 			memset(c->object, 0, sizeof(c->object));
-			c->object[0].handle = gem_create(fd, 4096);
-			gem_write(fd, c->object[0].handle, 0, &bbe, sizeof(bbe));
+			c->object[0].handle = batch_create(fd, 4096, region);
 			c->execbuf.buffer_count = 1;
 			gem_execbuf(fd, &c->execbuf);
 
 			c->object[0].flags |= EXEC_OBJECT_WRITE;
-			c->object[1].handle = gem_create(fd, sz);
+			c->object[1].handle = gem_create_in_memory_regions(fd, sz, region);
 
 			c->object[1].relocs_ptr = to_user_pointer(c->reloc);
 			c->object[1].relocation_count = has_relocs ? 1024 * i : 0;
@@ -813,10 +816,9 @@ static void *waiter(void *arg)
 
 static void
 __store_many(int fd, const intel_ctx_t *ctx, unsigned ring,
-	     int timeout, unsigned long *cycles)
+	     int timeout, unsigned long *cycles, uint32_t region)
 {
 	const unsigned int gen = intel_gen(intel_get_drm_devid(fd));
-	const uint32_t bbe = MI_BATCH_BUFFER_END;
 	struct drm_i915_gem_exec_object2 object[2];
 	struct drm_i915_gem_execbuffer2 execbuf;
 	struct drm_i915_gem_relocation_entry reloc[1024];
@@ -836,8 +838,7 @@ __store_many(int fd, const intel_ctx_t *ctx, unsigned ring,
 	execbuf.rsvd1 = ctx->id;
 
 	memset(object, 0, sizeof(object));
-	object[0].handle = gem_create(fd, 4096);
-	gem_write(fd, object[0].handle, 0, &bbe, sizeof(bbe));
+	object[0].handle = batch_create(fd, 4096, region);
 	execbuf.buffer_count = 1;
 	gem_execbuf(fd, &execbuf);
 	object[0].flags |= EXEC_OBJECT_WRITE;
@@ -945,7 +946,7 @@ __store_many(int fd, const intel_ctx_t *ctx, unsigned ring,
 
 static void
 store_many(int fd, const intel_ctx_t *ctx, unsigned int ring,
-	   int num_children, int timeout)
+	   int num_children, int timeout, uint32_t region)
 {
 	struct intel_engine_data ied;
 	unsigned long *shared;
@@ -963,7 +964,8 @@ store_many(int fd, const intel_ctx_t *ctx, unsigned int ring,
 			__store_many(fd, ctx,
 				     ied_flags(&ied, n),
 				     timeout,
-				     &shared[n]);
+				     &shared[n],
+				     region);
 	}
 	igt_waitchildren();
 
@@ -976,7 +978,7 @@ store_many(int fd, const intel_ctx_t *ctx, unsigned int ring,
 }
 
 static void
-sync_all(int fd, const intel_ctx_t *ctx, int num_children, int timeout)
+sync_all(int fd, const intel_ctx_t *ctx, int num_children, int timeout, uint32_t region)
 {
 	struct intel_engine_data ied;
 
@@ -985,15 +987,13 @@ sync_all(int fd, const intel_ctx_t *ctx, int num_children, int timeout)
 
 	intel_detect_and_clear_missed_interrupts(fd);
 	igt_fork(child, num_children) {
-		const uint32_t bbe = MI_BATCH_BUFFER_END;
 		struct drm_i915_gem_exec_object2 object;
 		struct drm_i915_gem_execbuffer2 execbuf;
 		double start, elapsed;
 		unsigned long cycles;
 
 		memset(&object, 0, sizeof(object));
-		object.handle = gem_create(fd, 4096);
-		gem_write(fd, object.handle, 0, &bbe, sizeof(bbe));
+		object.handle = batch_create(fd, 4096, region);
 
 		memset(&execbuf, 0, sizeof(execbuf));
 		execbuf.buffers_ptr = to_user_pointer(&object);
@@ -1023,7 +1023,7 @@ sync_all(int fd, const intel_ctx_t *ctx, int num_children, int timeout)
 }
 
 static void
-store_all(int fd, const intel_ctx_t *ctx, int num_children, int timeout)
+store_all(int fd, const intel_ctx_t *ctx, int num_children, int timeout, uint32_t region)
 {
 	const unsigned int gen = intel_gen(intel_get_drm_devid(fd));
 	struct intel_engine_data ied;
@@ -1034,7 +1034,6 @@ store_all(int fd, const intel_ctx_t *ctx, int num_children, int timeout)
 
 	intel_detect_and_clear_missed_interrupts(fd);
 	igt_fork(child, num_children) {
-		const uint32_t bbe = MI_BATCH_BUFFER_END;
 		struct drm_i915_gem_exec_object2 object[2];
 		struct drm_i915_gem_relocation_entry reloc[1024];
 		struct drm_i915_gem_execbuffer2 execbuf;
@@ -1051,14 +1050,13 @@ store_all(int fd, const intel_ctx_t *ctx, int num_children, int timeout)
 		execbuf.rsvd1 = ctx->id;
 
 		memset(object, 0, sizeof(object));
-		object[0].handle = gem_create(fd, 4096);
-		gem_write(fd, object[0].handle, 0, &bbe, sizeof(bbe));
+		object[0].handle = batch_create(fd, 4096, region);
 		execbuf.buffer_count = 1;
 		gem_execbuf(fd, &execbuf);
 
 		object[0].flags |= EXEC_OBJECT_WRITE;
 		object[0].flags |= has_relocs ? 0 : EXEC_OBJECT_PINNED;
-		object[1].handle = gem_create(fd, 1024*16 + 4096);
+		object[1].handle = gem_create_in_memory_regions(fd, 1024*16 + 4096, region);
 
 		object[1].relocs_ptr = to_user_pointer(reloc);
 		object[1].relocation_count = has_relocs ? 1024 : 0;
@@ -1205,7 +1203,7 @@ igt_main
 	const struct {
 		const char *name;
 		void (*func)(int fd, const intel_ctx_t *ctx, unsigned int engine,
-			     int num_children, int timeout);
+			     int num_children, int timeout, uint32_t memregion);
 		int num_children;
 		int timeout;
 	} all[] = {
@@ -1241,6 +1239,10 @@ igt_main
 	const struct intel_execution_engine2 *e;
 	const intel_ctx_t *ctx;
 	int fd = -1;
+	struct drm_i915_query_memory_regions *query_info;
+	struct igt_collection *regions, *set;
+	char *sub_name;
+	uint32_t region;
 
 	igt_fixture {
 		fd = drm_open_driver(DRIVER_INTEL);
@@ -1250,6 +1252,11 @@ igt_main
 		ctx = intel_ctx_create_all_physical(fd);
 
 		igt_fork_hang_detector(fd);
+		query_info = gem_get_query_memory_regions(fd);
+		igt_assert(query_info);
+		set = get_memory_region_set(query_info,
+					I915_SYSTEM_MEMORY,
+					I915_DEVICE_MEMORY);
 		intel_allocator_multiprocess_start();
 	}
 
@@ -1257,41 +1264,101 @@ igt_main
 	for_each_test(t, individual) {
 		igt_subtest_with_dynamic_f("legacy-%s", t->name) {
 			for (const struct intel_execution_ring *l = intel_execution_rings; l->name; l++) {
-				igt_dynamic_f("%s", l->name) {
-					t->func(fd, intel_ctx_0(fd), eb_ring(l),
-						t->num_children, t->timeout);
+				for_each_combination(regions, 1, set) {
+					sub_name = memregion_dynamic_subtest_name(regions);
+					region = igt_collection_get_value(regions, 0);
+					igt_dynamic_f("%s-%s", l->name, sub_name) {
+						t->func(fd, intel_ctx_0(fd), eb_ring(l),
+								t->num_children,
+								t->timeout,
+								region);
+					}
+					free(sub_name);
 				}
 			}
 		}
 	}
 
-	igt_subtest("basic-all")
-		sync_all(fd, ctx, 1, 2);
-	igt_subtest("basic-store-all")
-		store_all(fd, ctx, 1, 2);
-
-	igt_subtest("all")
-		sync_all(fd, ctx, 1, 20);
-	igt_subtest("store-all")
-		store_all(fd, ctx, 1, 20);
-	igt_subtest("forked-all")
-		sync_all(fd, ctx, ncpus, 20);
-	igt_subtest("forked-store-all")
-		store_all(fd, ctx, ncpus, 20);
+	igt_subtest_with_dynamic("basic-all") {
+		for_each_combination(regions, 1, set) {
+			sub_name = memregion_dynamic_subtest_name(regions);
+			region = igt_collection_get_value(regions, 0);
+			igt_dynamic_f("%s", sub_name)
+				sync_all(fd, ctx, 1, 2, region);
+			free(sub_name);
+		}
+	}
+	igt_subtest_with_dynamic("basic-store-all") {
+		for_each_combination(regions, 1, set) {
+			sub_name = memregion_dynamic_subtest_name(regions);
+			region = igt_collection_get_value(regions, 0);
+			igt_dynamic_f("%s", sub_name)
+				store_all(fd, ctx, 1, 2, region);
+			free(sub_name);
+		}
+	}
+	igt_subtest_with_dynamic("all") {
+		for_each_combination(regions, 1, set) {
+			sub_name = memregion_dynamic_subtest_name(regions);
+			region = igt_collection_get_value(regions, 0);
+			igt_dynamic_f("%s", sub_name)
+				sync_all(fd, ctx, 1, 20, region);
+			free(sub_name);
+		}
+	}
+	igt_subtest_with_dynamic("store-all") {
+		for_each_combination(regions, 1, set) {
+			sub_name = memregion_dynamic_subtest_name(regions);
+			region = igt_collection_get_value(regions, 0);
+			igt_dynamic_f("%s", sub_name)
+				store_all(fd, ctx, 1, 20, region);
+			free(sub_name);
+		}
+	}
+	igt_subtest_with_dynamic("forked-all") {
+		for_each_combination(regions, 1, set) {
+			sub_name = memregion_dynamic_subtest_name(regions);
+			region = igt_collection_get_value(regions, 0);
+			igt_dynamic_f("%s", sub_name)
+				sync_all(fd, ctx, ncpus, 20, region);
+			free(sub_name);
+		}
+	}
+	igt_subtest_with_dynamic("forked-store-all") {
+		for_each_combination(regions, 1, set) {
+			sub_name = memregion_dynamic_subtest_name(regions);
+			region = igt_collection_get_value(regions, 0);
+			igt_dynamic_f("%s", sub_name)
+				store_all(fd, ctx, ncpus, 20, region);
+			free(sub_name);
+		}
+	}
 
 	for_each_test(t, all) {
-		igt_subtest_f("%s", t->name)
-			t->func(fd, ctx, ALL_ENGINES, t->num_children, t->timeout);
+		igt_subtest_with_dynamic_f("%s", t->name) {
+			for_each_combination(regions, 1, set) {
+				sub_name = memregion_dynamic_subtest_name(regions);
+				region = igt_collection_get_value(regions, 0);
+				igt_dynamic_f("%s", sub_name)
+					t->func(fd, ctx, ALL_ENGINES, t->num_children,
+							t->timeout, region);
+				free(sub_name);
+			}
+		}
 	}
 
 	/* New way of selecting engines. */
 	for_each_test(t, individual) {
 		igt_subtest_with_dynamic_f("%s", t->name) {
-			for_each_ctx_engine(fd, ctx, e) {
-				igt_dynamic_f("%s", e->name) {
-					t->func(fd, ctx, e->flags,
-						t->num_children, t->timeout);
-				}
+			for_each_combination(regions, 1, set) {
+				sub_name = memregion_dynamic_subtest_name(regions);
+				region = igt_collection_get_value(regions, 0);
+				for_each_ctx_engine(fd, ctx, e)
+					igt_dynamic_f("%s-%s", e->name, sub_name)
+						t->func(fd, ctx, e->flags,
+								t->num_children,
+								t->timeout, region);
+				free(sub_name);
 			}
 		}
 	}
@@ -1314,6 +1381,8 @@ igt_main
 	}
 
 	igt_fixture {
+		free(query_info);
+		igt_collection_destroy(set);
 		intel_allocator_multiprocess_stop();
 		igt_stop_hang_detector();
 		intel_ctx_destroy(fd, ctx);
Signature · 1 line
2.32.0
#1 lore raw

[igt-dev] ✓ Fi.CI.BAT: success for tests/i915/gem_sync: Add support for local memory (rev2)

== Series Details ==

== Series Details ==

Series: tests/i915/gem_sync: Add support for local memory (rev2)
URL : https://patchwork.freedesktop.org/series/95437/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_11037 -> IGTPW_6517
====================================================

Summary
-------

**SUCCESS**

No regressions found.

External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/index.html

Participating hosts (46 -> 34)
------------------------------

Missing (12): fi-ilk-m540 bat-dg1-6 bat-dg1-5 fi-hsw-4200u fi-icl-u2 fi-bsw-cyan bat-adlp-6 bat-adlp-4 fi-pnv-d510 bat-rpls-1 bat-jsl-2 fi-bdw-samus

New tests
---------

New tests have been introduced between CI_DRM_11037 and IGTPW_6517:

### New IGT tests (2) ###

* igt@gem_sync@basic-all@smem:
- Statuses : 33 pass(s)
- Exec time: [2.03, 4.50] s

* igt@gem_sync@basic-each@smem:
- Statuses : 33 pass(s)
- Exec time: [2.05, 3.87] s

Known issues
------------

Here are the changes found in IGTPW_6517 that come from known issues:

### IGT changes ###

#### Issues hit ####

* igt@i915_selftest@live@workarounds:
- fi-snb-2520m: [PASS][1] -> [DMESG-FAIL][2] ([i915#4610])
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11037/fi-snb-2520m/igt@i915_selftest@[email protected]
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/fi-snb-2520m/igt@i915_selftest@[email protected]

* igt@runner@aborted:
- fi-snb-2520m: NOTRUN -> [FAIL][3] ([i915#2426] / [i915#4312])
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/fi-snb-2520m/igt@[email protected]

#### Possible fixes ####

* igt@kms_frontbuffer_tracking@basic:
- fi-cml-u2: [DMESG-WARN][4] ([i915#4269]) -> [PASS][5]
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11037/fi-cml-u2/igt@[email protected]
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/fi-cml-u2/igt@[email protected]

[i915#2426]: https://gitlab.freedesktop.org/drm/intel/issues/2426
[i915#4269]: https://gitlab.freedesktop.org/drm/intel/issues/4269
[i915#4312]: https://gitlab.freedesktop.org/drm/intel/issues/4312
[i915#4610]: https://gitlab.freedesktop.org/drm/intel/issues/4610

Build changes
-------------

* CI: CI-20190529 -> None
* IGT: IGT_6319 -> IGTPW_6517

CI-20190529: 20190529
CI_DRM_11037: c2c428a5d3232109b94de46042b7980bd50fb436 @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_6517: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/index.html
IGT_6319: 15df505835e60dbdb9ddcbd800a4fab3120328f1 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/index.html

#2 lore raw

[igt-dev] ✗ Fi.CI.IGT: failure for tests/i915/gem_sync: Add support for local memory (rev2)

In reply to [email protected]
== Series Details ==

== Series Details ==

Series: tests/i915/gem_sync: Add support for local memory (rev2)
URL : https://patchwork.freedesktop.org/series/95437/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_11037_full -> IGTPW_6517_full
====================================================

Summary
-------

**FAILURE**

Serious unknown changes coming with IGTPW_6517_full absolutely need to be verified manually.

If you think the reported changes have nothing to do with the changes introduced in IGTPW_6517_full, please notify your bug team to allow them to document this new failure mode, which will reduce false positives in CI.

External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/index.html

Participating hosts (10 -> 7)
------------------------------

Missing (3): pig-skl-6260u pig-kbl-iris pig-glk-j5005

Possible new issues
-------------------

Here are the unknown changes that may have been introduced in IGTPW_6517_full:

### IGT changes ###

#### Possible regressions ####

* igt@kms_psr@suspend:
- shard-iclb: [PASS][1] -> [SKIP][2]
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11037/shard-iclb6/igt@[email protected]
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-iclb5/igt@[email protected]

#### Warnings ####

* igt@gem_eio@kms:
- shard-tglb: [FAIL][3] ([i915#232]) -> [FAIL][4]
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11037/shard-tglb3/igt@[email protected]
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-tglb8/igt@[email protected]

#### Suppressed ####

The following results come from untrusted machines, tests, or statuses. They do not affect the overall result.

* {igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-downscaling}:
- shard-iclb: [PASS][5] -> [SKIP][6] +1 similar issue
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11037/shard-iclb4/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-downscaling.html
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-iclb2/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-downscaling.html

New tests
---------

New tests have been introduced between CI_DRM_11037_full and IGTPW_6517_full:

### New IGT tests (5) ###

* igt@gem_sync@basic-all@smem:
- Statuses : 5 pass(s)
- Exec time: [2.04, 2.50] s

* igt@gem_sync@basic-each@smem:
- Statuses : 6 pass(s)
- Exec time: [2.10, 2.49] s

* igt@gem_sync@basic-many-each@smem:
- Statuses : 6 pass(s)
- Exec time: [2.20, 2.42] s

* igt@gem_sync@basic-store-all@smem:
- Statuses : 6 pass(s)
- Exec time: [2.06, 3.99] s

* igt@gem_sync@basic-store-each@smem:
- Statuses : 6 pass(s)
- Exec time: [2.16, 2.71] s

Known issues
------------

Here are the changes found in IGTPW_6517_full that come from known issues:

### IGT changes ###

#### Issues hit ####

* igt@feature_discovery@display-3x:
- shard-tglb: NOTRUN -> [SKIP][7] ([i915#1839])
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-tglb7/igt@[email protected]

* igt@gem_ctx_isolation@preservation-s3@vcs0:
- shard-kbl: [PASS][8] -> [DMESG-WARN][9] ([i915#180]) +2 similar issues
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11037/shard-kbl6/igt@gem_ctx_isolation@[email protected]
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-kbl7/igt@gem_ctx_isolation@[email protected]

* igt@gem_ctx_persistence@legacy-engines-mixed:
- shard-snb: NOTRUN -> [SKIP][10] ([fdo#109271] / [i915#1099])
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-snb4/igt@[email protected]

* igt@gem_ctx_sseu@mmap-args:
- shard-tglb: NOTRUN -> [SKIP][11] ([i915#280])
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-tglb5/igt@[email protected]

* igt@gem_eio@in-flight-contexts-1us:
- shard-iclb: [PASS][12] -> [TIMEOUT][13] ([i915#3070])
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11037/shard-iclb3/igt@[email protected]
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-iclb5/igt@[email protected]

* igt@gem_exec_balancer@parallel-keep-submit-fence:
- shard-iclb: NOTRUN -> [SKIP][14] ([i915#4525])
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-iclb8/igt@[email protected]

* igt@gem_exec_fair@basic-none-share@rcs0:
- shard-iclb: [PASS][15] -> [FAIL][16] ([i915#2842])
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11037/shard-iclb4/igt@gem_exec_fair@[email protected]
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-iclb1/igt@gem_exec_fair@[email protected]

* igt@gem_exec_fair@basic-none-vip@rcs0:
- shard-kbl: [PASS][17] -> [FAIL][18] ([i915#2842]) +2 similar issues
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11037/shard-kbl3/igt@gem_exec_fair@[email protected]
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-kbl7/igt@gem_exec_fair@[email protected]

* igt@gem_exec_fair@basic-none@vcs0:
- shard-glk: [PASS][19] -> [FAIL][20] ([i915#2842]) +3 similar issues
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11037/shard-glk5/igt@gem_exec_fair@[email protected]
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-glk8/igt@gem_exec_fair@[email protected]

* igt@gem_exec_fair@basic-pace-solo@rcs0:
- shard-apl: [PASS][21] -> [FAIL][22] ([i915#2842])
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11037/shard-apl7/igt@gem_exec_fair@[email protected]
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-apl3/igt@gem_exec_fair@[email protected]

* igt@gem_exec_params@no-vebox:
- shard-iclb: NOTRUN -> [SKIP][23] ([fdo#109283])
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-iclb4/igt@[email protected]
- shard-tglb: NOTRUN -> [SKIP][24] ([fdo#109283])
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-tglb7/igt@[email protected]

* igt@gem_huc_copy@huc-copy:
- shard-tglb: [PASS][25] -> [SKIP][26] ([i915#2190])
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11037/shard-tglb3/igt@[email protected]
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-tglb7/igt@[email protected]

* igt@gem_lmem_swapping@heavy-random:
- shard-iclb: NOTRUN -> [SKIP][27] ([i915#4613])
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-iclb5/igt@[email protected]
- shard-tglb: NOTRUN -> [SKIP][28] ([i915#4613])
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-tglb2/igt@[email protected]
- shard-apl: NOTRUN -> [SKIP][29] ([fdo#109271] / [i915#4613])
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-apl1/igt@[email protected]
- shard-glk: NOTRUN -> [SKIP][30] ([fdo#109271] / [i915#4613])
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-glk8/igt@[email protected]
- shard-kbl: NOTRUN -> [SKIP][31] ([fdo#109271] / [i915#4613])
[31]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-kbl3/igt@[email protected]

* igt@gem_pxp@regular-baseline-src-copy-readible:
- shard-kbl: NOTRUN -> [SKIP][32] ([fdo#109271]) +104 similar issues
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-kbl7/igt@[email protected]
- shard-tglb: NOTRUN -> [SKIP][33] ([i915#4270]) +1 similar issue
[33]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-tglb1/igt@[email protected]
- shard-iclb: NOTRUN -> [SKIP][34] ([i915#4270]) +1 similar issue
[34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-iclb7/igt@[email protected]

* igt@gem_render_copy@y-tiled-ccs-to-y-tiled-mc-ccs:
- shard-iclb: NOTRUN -> [SKIP][35] ([i915#768])
[35]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-iclb3/igt@[email protected]

* igt@gem_softpin@evict-snoop:
- shard-tglb: NOTRUN -> [SKIP][36] ([fdo#109312])
[36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-tglb1/igt@[email protected]

* igt@gem_userptr_blits@dmabuf-unsync:
- shard-tglb: NOTRUN -> [SKIP][37] ([i915#3297])
[37]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-tglb6/igt@[email protected]
- shard-iclb: NOTRUN -> [SKIP][38] ([i915#3297])
[38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-iclb2/igt@[email protected]

* igt@gen7_exec_parse@basic-allocation:
- shard-tglb: NOTRUN -> [SKIP][39] ([fdo#109289]) +2 similar issues
[39]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-tglb3/igt@[email protected]

* igt@gen7_exec_parse@bitmasks:
- shard-iclb: NOTRUN -> [SKIP][40] ([fdo#109289]) +2 similar issues
[40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-iclb1/igt@[email protected]

* igt@gen9_exec_parse@bb-start-param:
- shard-tglb: NOTRUN -> [SKIP][41] ([i915#2856])
[41]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-tglb8/igt@[email protected]
- shard-iclb: NOTRUN -> [SKIP][42] ([i915#2856])
[42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-iclb8/igt@[email protected]

* igt@i915_pm_dc@dc6-psr:
- shard-iclb: [PASS][43] -> [FAIL][44] ([i915#454])
[43]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11037/shard-iclb1/igt@[email protected]
[44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-iclb6/igt@[email protected]

* igt@i915_pm_lpsp@screens-disabled:
- shard-tglb: NOTRUN -> [SKIP][45] ([i915#1902])
[45]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-tglb3/igt@[email protected]

* igt@i915_pm_rc6_residency@rc6-fence:
- shard-tglb: NOTRUN -> [WARN][46] ([i915#2681] / [i915#2684])
[46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-tglb5/igt@[email protected]
- shard-iclb: NOTRUN -> [WARN][47] ([i915#2684])
[47]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-iclb1/igt@[email protected]

* igt@i915_pm_rpm@modeset-non-lpsp:
- shard-iclb: NOTRUN -> [SKIP][48] ([fdo#110892])
[48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-iclb2/igt@[email protected]
- shard-tglb: NOTRUN -> [SKIP][49] ([fdo#111644] / [i915#1397] / [i915#2411])
[49]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-tglb1/igt@[email protected]

* igt@i915_query@query-topology-known-pci-ids:
- shard-tglb: NOTRUN -> [SKIP][50] ([fdo#109303])
[50]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-tglb6/igt@[email protected]
- shard-iclb: NOTRUN -> [SKIP][51] ([fdo#109303])
[51]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-iclb3/igt@[email protected]

* igt@kms_atomic_transition@plane-all-modeset-transition:
- shard-iclb: NOTRUN -> [SKIP][52] ([i915#1769])
[52]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-iclb8/igt@[email protected]
- shard-tglb: NOTRUN -> [SKIP][53] ([i915#1769])
[53]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-tglb8/igt@[email protected]

* igt@kms_big_fb@linear-8bpp-rotate-270:
- shard-tglb: NOTRUN -> [SKIP][54] ([fdo#111614]) +3 similar issues
[54]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-tglb2/igt@[email protected]

* igt@kms_big_fb@y-tiled-64bpp-rotate-90:
- shard-iclb: NOTRUN -> [SKIP][55] ([fdo#110725] / [fdo#111614]) +2 similar issues
[55]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-iclb2/igt@[email protected]

* igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-async-flip:
- shard-tglb: NOTRUN -> [SKIP][56] ([fdo#111615]) +1 similar issue
[56]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-tglb5/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-async-flip.html

* igt@kms_ccs@pipe-a-bad-pixel-format-y_tiled_ccs:
- shard-tglb: NOTRUN -> [SKIP][57] ([i915#3689]) +5 similar issues
[57]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-tglb5/igt@kms_ccs@pipe-a-bad-pixel-format-y_tiled_ccs.html

* igt@kms_ccs@pipe-a-missing-ccs-buffer-y_tiled_gen12_rc_ccs_cc:
- shard-apl: NOTRUN -> [SKIP][58] ([fdo#109271] / [i915#3886]) +5 similar issues
[58]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-apl8/igt@kms_ccs@pipe-a-missing-ccs-buffer-y_tiled_gen12_rc_ccs_cc.html
- shard-iclb: NOTRUN -> [SKIP][59] ([fdo#109278] / [i915#3886]) +3 similar issues
[59]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-iclb1/igt@kms_ccs@pipe-a-missing-ccs-buffer-y_tiled_gen12_rc_ccs_cc.html

* igt@kms_ccs@pipe-b-ccs-on-another-bo-y_tiled_gen12_mc_ccs:
- shard-glk: NOTRUN -> [SKIP][60] ([fdo#109271] / [i915#3886]) +3 similar issues
[60]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-glk9/igt@kms_ccs@pipe-b-ccs-on-another-bo-y_tiled_gen12_mc_ccs.html
- shard-tglb: NOTRUN -> [SKIP][61] ([i915#3689] / [i915#3886])
[61]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-tglb6/igt@kms_ccs@pipe-b-ccs-on-another-bo-y_tiled_gen12_mc_ccs.html

* igt@kms_ccs@pipe-c-random-ccs-data-y_tiled_gen12_rc_ccs_cc:
- shard-kbl: NOTRUN -> [SKIP][62] ([fdo#109271] / [i915#3886]) +3 similar issues
[62]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-kbl7/igt@kms_ccs@pipe-c-random-ccs-data-y_tiled_gen12_rc_ccs_cc.html

* igt@kms_ccs@pipe-d-missing-ccs-buffer-yf_tiled_ccs:
- shard-tglb: NOTRUN -> [SKIP][63] ([fdo#111615] / [i915#3689]) +3 similar issues
[63]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-tglb5/igt@kms_ccs@pipe-d-missing-ccs-buffer-yf_tiled_ccs.html

* igt@kms_chamelium@hdmi-edid-change-during-suspend:
- shard-apl: NOTRUN -> [SKIP][64] ([fdo#109271] / [fdo#111827]) +7 similar issues
[64]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-apl8/igt@[email protected]

* igt@kms_chamelium@vga-hpd-enable-disable-mode:
- shard-glk: NOTRUN -> [SKIP][65] ([fdo#109271] / [fdo#111827]) +3 similar issues
[65]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-glk9/igt@[email protected]

* igt@kms_color_chamelium@pipe-a-ctm-0-75:
- shard-kbl: NOTRUN -> [SKIP][66] ([fdo#109271] / [fdo#111827]) +8 similar issues
[66]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-kbl7/igt@[email protected]

* igt@kms_color_chamelium@pipe-b-ctm-negative:
- shard-snb: NOTRUN -> [SKIP][67] ([fdo#109271] / [fdo#111827]) +5 similar issues
[67]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-snb2/igt@[email protected]
- shard-tglb: NOTRUN -> [SKIP][68] ([fdo#109284] / [fdo#111827]) +4 similar issues
[68]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-tglb1/igt@[email protected]

* igt@kms_color_chamelium@pipe-c-ctm-0-5:
- shard-iclb: NOTRUN -> [SKIP][69] ([fdo#109284] / [fdo#111827]) +3 similar issues
[69]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-iclb4/igt@[email protected]

* igt@kms_content_protection@atomic-dpms:
- shard-apl: NOTRUN -> [TIMEOUT][70] ([i915#1319]) +1 similar issue
[70]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-apl4/igt@[email protected]
- shard-kbl: NOTRUN -> [TIMEOUT][71] ([i915#1319]) +1 similar issue
[71]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-kbl1/igt@[email protected]
- shard-iclb: NOTRUN -> [SKIP][72] ([fdo#109300] / [fdo#111066]) +1 similar issue
[72]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-iclb2/igt@[email protected]

* igt@kms_content_protection@dp-mst-lic-type-1:
- shard-tglb: NOTRUN -> [SKIP][73] ([i915#3116]) +1 similar issue
[73]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-tglb1/igt@[email protected]

* igt@kms_content_protection@srm:
- shard-glk: NOTRUN -> [SKIP][74] ([fdo#109271]) +63 similar issues
[74]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-glk8/igt@[email protected]
- shard-tglb: NOTRUN -> [SKIP][75] ([fdo#111828])
[75]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-tglb5/igt@[email protected]

* igt@kms_cursor_crc@pipe-a-cursor-512x170-onscreen:
- shard-iclb: NOTRUN -> [SKIP][76] ([fdo#109278] / [fdo#109279]) +1 similar issue
[76]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-iclb7/igt@[email protected]

* igt@kms_cursor_crc@pipe-b-cursor-32x10-sliding:
- shard-tglb: NOTRUN -> [SKIP][77] ([i915#3359]) +2 similar issues
[77]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-tglb3/igt@[email protected]

* igt@kms_cursor_crc@pipe-b-cursor-32x32-offscreen:
- shard-tglb: NOTRUN -> [SKIP][78] ([i915#3319])
[78]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-tglb7/igt@[email protected]

* igt@kms_cursor_crc@pipe-c-cursor-512x170-onscreen:
- shard-tglb: NOTRUN -> [SKIP][79] ([fdo#109279] / [i915#3359]) +1 similar issue
[79]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-tglb1/igt@[email protected]

* igt@kms_cursor_edge_walk@pipe-a-256x256-right-edge:
- shard-glk: [PASS][80] -> [DMESG-FAIL][81] ([i915#118])
[80]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11037/shard-glk2/igt@[email protected]
[81]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-glk8/igt@[email protected]

* igt@kms_cursor_legacy@2x-cursor-vs-flip-atomic:
- shard-iclb: NOTRUN -> [SKIP][82] ([fdo#109274] / [fdo#109278]) +1 similar issue
[82]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-iclb7/igt@[email protected]

* igt@kms_cursor_legacy@flip-vs-cursor-legacy:
- shard-tglb: [PASS][83] -> [FAIL][84] ([i915#2346])
[83]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11037/shard-tglb5/igt@[email protected]
[84]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-tglb7/igt@[email protected]

* igt@kms_cursor_legacy@pipe-d-single-bo:
- shard-glk: NOTRUN -> [SKIP][85] ([fdo#109271] / [i915#533])
[85]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-glk4/igt@[email protected]
- shard-kbl: NOTRUN -> [SKIP][86] ([fdo#109271] / [i915#533])
[86]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-kbl3/igt@[email protected]
- shard-apl: NOTRUN -> [SKIP][87] ([fdo#109271] / [i915#533])
[87]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-apl8/igt@[email protected]

* igt@kms_flip@2x-flip-vs-modeset-vs-hang:
- shard-iclb: NOTRUN -> [SKIP][88] ([fdo#109274]) +3 similar issues
[88]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-iclb1/igt@[email protected]

* igt@kms_frontbuffer_tracking@fbc-2p-primscrn-shrfb-plflip-blt:
- shard-tglb: NOTRUN -> [SKIP][89] ([fdo#111825]) +26 similar issues
[89]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-tglb6/igt@[email protected]

* igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-cur-indfb-draw-render:
- shard-snb: NOTRUN -> [SKIP][90] ([fdo#109271]) +180 similar issues
[90]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-snb4/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-cur-indfb-draw-render.html

* igt@kms_frontbuffer_tracking@psr-2p-primscrn-pri-shrfb-draw-blt:
- shard-iclb: NOTRUN -> [SKIP][91] ([fdo#109280]) +15 similar issues
[91]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-iclb1/igt@[email protected]

* igt@kms_hdr@bpc-switch-suspend:
- shard-apl: [PASS][92] -> [DMESG-WARN][93] ([i915#180]) +2 similar issues
[92]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11037/shard-apl6/igt@[email protected]
[93]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-apl1/igt@[email protected]

* igt@kms_invalid_mode@clock-too-high:
- shard-tglb: NOTRUN -> [SKIP][94] ([i915#4278])
[94]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-tglb3/igt@[email protected]
- shard-iclb: NOTRUN -> [SKIP][95] ([i915#4278])
[95]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-iclb3/igt@[email protected]

* igt@kms_plane_alpha_blend@pipe-a-alpha-7efc:
- shard-kbl: NOTRUN -> [FAIL][96] ([fdo#108145] / [i915#265])
[96]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-kbl4/igt@[email protected]

* igt@kms_plane_alpha_blend@pipe-a-alpha-transparent-fb:
- shard-apl: NOTRUN -> [FAIL][97] ([i915#265])
[97]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-apl8/igt@[email protected]

* igt@kms_plane_cursor@pipe-d-viewport-size-128:
- shard-apl: NOTRUN -> [SKIP][98] ([fdo#109271]) +112 similar issues
[98]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-apl4/igt@[email protected]

* igt@kms_plane_lowres@pipe-c-tiling-yf:
- shard-tglb: NOTRUN -> [SKIP][99] ([fdo#111615] / [fdo#112054])
[99]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-tglb7/igt@[email protected]

* igt@kms_psr2_su@page_flip-p010:
- shard-kbl: NOTRUN -> [SKIP][100] ([fdo#109271] / [i915#658])
[100]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-kbl6/igt@kms_psr2_su@page_flip-p010.html

* igt@kms_psr@psr2_primary_mmap_gtt:
- shard-tglb: NOTRUN -> [FAIL][101] ([i915#132] / [i915#3467]) +1 similar issue
[101]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-tglb7/igt@kms_psr@psr2_primary_mmap_gtt.html

* igt@kms_psr@psr2_sprite_plane_move:
- shard-iclb: NOTRUN -> [SKIP][102] ([fdo#109441]) +1 similar issue
[102]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-iclb7/igt@kms_psr@psr2_sprite_plane_move.html

* igt@kms_vblank@pipe-d-ts-continuation-idle-hang:
- shard-iclb: NOTRUN -> [SKIP][103] ([fdo#109278]) +17 similar issues
[103]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-iclb5/igt@[email protected]

* igt@nouveau_crc@pipe-b-source-rg:
- shard-iclb: NOTRUN -> [SKIP][104] ([i915#2530])
[104]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-iclb7/igt@[email protected]
- shard-tglb: NOTRUN -> [SKIP][105] ([i915#2530]) +1 similar issue
[105]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-tglb2/igt@[email protected]

* igt@prime_nv_pcopy@test3_2:
- shard-tglb: NOTRUN -> [SKIP][106] ([fdo#109291]) +2 similar issues
[106]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-tglb5/igt@prime_nv_pcopy@test3_2.html

* igt@prime_nv_test@i915_nv_sharing:
- shard-iclb: NOTRUN -> [SKIP][107] ([fdo#109291]) +1 similar issue
[107]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-iclb6/igt@prime_nv_test@i915_nv_sharing.html

* igt@sysfs_clients@busy:
- shard-tglb: NOTRUN -> [SKIP][108] ([i915#2994]) +2 similar issues
[108]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-tglb1/igt@[email protected]

* igt@sysfs_clients@recycle-many:
- shard-apl: NOTRUN -> [SKIP][109] ([fdo#109271] / [i915#2994]) +2 similar issues
[109]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-apl2/igt@[email protected]
- shard-iclb: NOTRUN -> [SKIP][110] ([i915#2994]) +1 similar issue
[110]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-iclb3/igt@[email protected]
- shard-glk: NOTRUN -> [SKIP][111] ([fdo#109271] / [i915#2994]) +1 similar issue
[111]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-glk2/igt@[email protected]
- shard-kbl: NOTRUN -> [SKIP][112] ([fdo#109271] / [i915#2994]) +1 similar issue
[112]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-kbl6/igt@[email protected]

#### Possible fixes ####

* igt@feature_discovery@psr2:
- shard-iclb: [SKIP][113] ([i915#658]) -> [PASS][114]
[113]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11037/shard-iclb8/igt@[email protected]
[114]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-iclb2/igt@[email protected]

* igt@gem_eio@unwedge-stress:
- shard-tglb: [TIMEOUT][115] ([i915#3063] / [i915#3648]) -> [PASS][116]
[115]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11037/shard-tglb8/igt@[email protected]
[116]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-tglb8/igt@[email protected]

* igt@gem_exec_fair@basic-pace@vcs1:
- shard-kbl: [FAIL][117] ([i915#2842]) -> [PASS][118] +3 similar issues
[117]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11037/shard-kbl4/igt@gem_exec_fair@[email protected]
[118]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-kbl1/igt@gem_exec_fair@[email protected]

* igt@gem_exec_fair@basic-throttle@rcs0:
- shard-glk: [FAIL][119] ([i915#2842]) -> [PASS][120]
[119]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11037/shard-glk4/igt@gem_exec_fair@[email protected]
[120]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-glk5/igt@gem_exec_fair@[email protected]
- shard-iclb: [FAIL][121] ([i915#2849]) -> [PASS][122]
[121]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11037/shard-iclb4/igt@gem_exec_fair@[email protected]
[122]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-iclb1/igt@gem_exec_fair@[email protected]

* igt@i915_pm_dc@dc9-dpms:
- shard-apl: [SKIP][123] ([fdo#109271]) -> [PASS][124]
[123]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11037/shard-apl8/igt@[email protected]
[124]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-apl6/igt@[email protected]

* igt@kms_big_fb@linear-32bpp-rotate-180:
- shard-glk: [DMESG-WARN][125] ([i915#118]) -> [PASS][126] +1 similar issue
[125]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11037/shard-glk1/igt@[email protected]
[126]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-glk5/igt@[email protected]

* igt@kms_cursor_legacy@flip-vs-cursor-toggle:
- shard-iclb: [FAIL][127] ([i915#2346]) -> [PASS][128]
[127]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11037/shard-iclb7/igt@[email protected]
[128]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-iclb2/igt@[email protected]

* igt@kms_flip@flip-vs-expired-vblank@a-dp1:
- shard-kbl: [FAIL][129] ([i915#79]) -> [PASS][130]
[129]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11037/shard-kbl7/igt@kms_flip@[email protected]
[130]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-kbl4/igt@kms_flip@[email protected]

* igt@kms_flip@flip-vs-suspend-interruptible@a-dp1:
- shard-kbl: [DMESG-WARN][131] ([i915#180]) -> [PASS][132] +2 similar issues
[131]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11037/shard-kbl7/igt@kms_flip@[email protected]
[132]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-kbl4/igt@kms_flip@[email protected]

* igt@kms_flip@flip-vs-suspend-interruptible@c-dp1:
- shard-apl: [DMESG-WARN][133] ([i915#180]) -> [PASS][134] +2 similar issues
[133]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11037/shard-apl8/igt@kms_flip@[email protected]
[134]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/shard-apl7/igt@kms_flip@[email protected]

* igt@kms_hdmi_inject@inject-audio:
- shard-tglb: [SKIP][135] ([i915#433]) -> [PASS][136]
[135]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11037/shard-tglb2/igt@[email protected]
[136]: https://intel-gfx-ci.01.org/

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6517/index.html

#3 lore raw
In reply to [email protected]
Quoted 15 lines · On Sat, Dec 25, 2021 at 01:33:10AM +0530, [email protected] wrote:

From: Ch Sai Gowtham <[email protected]>

Add support for local memory region (Device memory)

Cc Zbigniew Kempczyński <[email protected]>
---
 tests/i915/gem_sync.c | 193 ++++++++++++++++++++++++++++--------------
 1 file changed, 131 insertions(+), 62 deletions(-)
tests/i915/gem_sync.c +0 -0
index 8c435845..8f8be2b1 100644

tests/i915/gem_sync.c static void xchg_engine(void *array, unsigned i, unsigned j) · line 151

Quoted 9 lines
tests/i915/gem_sync.c +6 -0
@@ -143,9 +143,20 @@ static void xchg_engine(void *array, unsigned i, unsigned j)
 	igt_swap(E[i], E[j]);
 }
 
+static uint32_t batch_create(int fd, uint32_t batch_size, uint32_t region)
+{
+	const uint32_t bbe = MI_BATCH_BUFFER_END;
+	uint32_t handle;
+
+	handle = gem_create_in_memory_regions(fd, 4096, region);

What batch_size is passed here for?

Quoted 60 lines
tests/i915/gem_sync.c +10 -9
+	gem_write(fd, handle, 0, &bbe, sizeof(bbe));
+
+	return handle;
+}
+
 static void
 sync_ring(int fd, const intel_ctx_t *ctx,
-	  unsigned ring, int num_children, int timeout)
+	  unsigned ring, int num_children, int timeout, uint32_t region)
 {
 	struct intel_engine_data ied;
 
@@ -155,15 +166,13 @@ sync_ring(int fd, const intel_ctx_t *ctx,
 
 	intel_detect_and_clear_missed_interrupts(fd);
 	igt_fork(child, num_children) {
-		const uint32_t bbe = MI_BATCH_BUFFER_END;
 		struct drm_i915_gem_exec_object2 object;
 		struct drm_i915_gem_execbuffer2 execbuf;
 		double start, elapsed;
 		unsigned long cycles;
 
 		memset(&object, 0, sizeof(object));
-		object.handle = gem_create(fd, 4096);
-		gem_write(fd, object.handle, 0, &bbe, sizeof(bbe));
+		object.handle = batch_create(fd, 4096, region);
 
 		memset(&execbuf, 0, sizeof(execbuf));
 		execbuf.buffers_ptr = to_user_pointer(&object);
@@ -193,9 +202,8 @@ sync_ring(int fd, const intel_ctx_t *ctx,
 
 static void
 idle_ring(int fd, const intel_ctx_t *ctx, unsigned int ring,
-	  int num_children, int timeout)
+	  int num_children, int timeout, uint32_t region)
 {
-	const uint32_t bbe = MI_BATCH_BUFFER_END;
 	struct drm_i915_gem_exec_object2 object;
 	struct drm_i915_gem_execbuffer2 execbuf;
 	double start, elapsed;
@@ -204,8 +212,7 @@ idle_ring(int fd, const intel_ctx_t *ctx, unsigned int ring,
 	gem_require_ring(fd, ring);
 
 	memset(&object, 0, sizeof(object));
-	object.handle = gem_create(fd, 4096);
-	gem_write(fd, object.handle, 0, &bbe, sizeof(bbe));
+	object.handle = batch_create(fd, 4096, region);
 
 	memset(&execbuf, 0, sizeof(execbuf));
 	execbuf.buffers_ptr = to_user_pointer(&object);
@@ -234,7 +241,7 @@ idle_ring(int fd, const intel_ctx_t *ctx, unsigned int ring,
 
 static void
 wakeup_ring(int fd, const intel_ctx_t *ctx, unsigned ring,
-	    int timeout, int wlen)
+	    int timeout, int wlen, uint32_t region)
 {
 	struct intel_engine_data ied;
 	uint64_t ahnd = get_reloc_ahnd(fd, ctx->id);

tests/i915/gem_sync.c wakeup_ring(int fd, const intel_ctx_t *ctx, unsigned ring, · line 264

Quoted 5 lines
tests/i915/gem_sync.c +1 -1
@@ -254,7 +261,7 @@ wakeup_ring(int fd, const intel_ctx_t *ctx, unsigned ring,
 		ahnd = get_reloc_ahnd(fd, ctx->id);
 
 		memset(&object, 0, sizeof(object));
-		object.handle = gem_create(fd, 4096);
+		object.handle = gem_create_in_memory_regions(fd, 4096, region);

You've created batch_create() for it, haven't you?

tests/i915/gem_sync.c wakeup_ring(int fd, const intel_ctx_t *ctx, unsigned ring, · line 350

Quoted 10 lines
tests/i915/gem_sync.c +1 -1
 		object.offset = get_offset(ahnd, object.handle, 4096, 0);
 		if (ahnd)
 			object.flags = EXEC_OBJECT_PINNED;
@@ -339,7 +346,7 @@ wakeup_ring(int fd, const intel_ctx_t *ctx, unsigned ring,
 }
 
 static void active_ring(int fd, const intel_ctx_t *ctx, unsigned int ring,
-			int num_children, int timeout)
+			int num_children, int timeout, uint32_t region)
 {

Here we have spinners which should be executed within region but we got no such possibility right now. We should add .region to spinner creation flags.

Quoted 12 lines
tests/i915/gem_sync.c +1 -1
 	struct intel_engine_data ied;
 	uint64_t ahnd = get_reloc_ahnd(fd, ctx->id);
@@ -398,7 +405,7 @@ static void active_ring(int fd, const intel_ctx_t *ctx, unsigned int ring,
 
 static void
 active_wakeup_ring(int fd, const intel_ctx_t *ctx, unsigned ring,
-		   int timeout, int wlen)
+		   int timeout, int wlen, uint32_t region)
 {
 	struct intel_engine_data ied;
 	uint64_t ahnd0 = get_reloc_ahnd(fd, 0);

tests/i915/gem_sync.c active_wakeup_ring(int fd, const intel_ctx_t *ctx, unsigned ring, · line 430

Quoted 5 lines
tests/i915/gem_sync.c +1 -1
@@ -420,7 +427,7 @@ active_wakeup_ring(int fd, const intel_ctx_t *ctx, unsigned ring,
 		ahnd = get_reloc_ahnd(fd, ctx->id);
 
 		memset(&object, 0, sizeof(object));
-		object.handle = gem_create(fd, 4096);
+		object.handle = gem_create_in_memory_regions(fd, 4096, region);

Same with create_batch().

Quoted 161 lines
tests/i915/gem_sync.c +15 -24
 		object.offset = get_offset(ahnd, object.handle, 4096, 0);
 		if (ahnd)
 			object.offset = EXEC_OBJECT_PINNED;
@@ -529,7 +536,7 @@ active_wakeup_ring(int fd, const intel_ctx_t *ctx, unsigned ring,
 
 static void
 store_ring(int fd, const intel_ctx_t *ctx, unsigned ring,
-	   int num_children, int timeout)
+	   int num_children, int timeout, uint32_t region)
 {
 	const unsigned int gen = intel_gen(intel_get_drm_devid(fd));
 	struct intel_engine_data ied;
@@ -541,7 +548,6 @@ store_ring(int fd, const intel_ctx_t *ctx, unsigned ring,
 
 	intel_detect_and_clear_missed_interrupts(fd);
 	igt_fork(child, num_children) {
-		const uint32_t bbe = MI_BATCH_BUFFER_END;
 		struct drm_i915_gem_exec_object2 object[2];
 		struct drm_i915_gem_relocation_entry reloc[1024];
 		struct drm_i915_gem_execbuffer2 execbuf;
@@ -559,14 +565,13 @@ store_ring(int fd, const intel_ctx_t *ctx, unsigned ring,
 		execbuf.rsvd1 = ctx->id;
 
 		memset(object, 0, sizeof(object));
-		object[0].handle = gem_create(fd, 4096);
-		gem_write(fd, object[0].handle, 0, &bbe, sizeof(bbe));
+		object[0].handle = batch_create(fd, 4096, region);
 		execbuf.buffer_count = 1;
 		gem_execbuf(fd, &execbuf);
 
 		object[0].flags |= EXEC_OBJECT_WRITE;
 		object[0].flags |= has_relocs ? 0 : EXEC_OBJECT_PINNED;
-		object[1].handle = gem_create(fd, 20*1024);
+		object[1].handle = gem_create_in_memory_regions(fd, 20*1024, region);
 
 		object[1].relocs_ptr = to_user_pointer(reloc);
 		object[1].relocation_count = has_relocs ? 1024 : 0;
@@ -629,7 +634,7 @@ store_ring(int fd, const intel_ctx_t *ctx, unsigned ring,
 
 static void
 switch_ring(int fd, const intel_ctx_t *ctx, unsigned ring,
-	    int num_children, int timeout)
+	    int num_children, int timeout, uint32_t region)
 {
 	const unsigned int gen = intel_gen(intel_get_drm_devid(fd));
 	struct intel_engine_data ied;
@@ -653,7 +658,6 @@ switch_ring(int fd, const intel_ctx_t *ctx, unsigned ring,
 		unsigned long cycles;
 
 		for (int i = 0; i < ARRAY_SIZE(contexts); i++) {
-			const uint32_t bbe = MI_BATCH_BUFFER_END;
 			const uint32_t sz = 32 << 10;
 			struct context *c = &contexts[i];
 			uint32_t *batch, *b;
@@ -670,13 +674,12 @@ switch_ring(int fd, const intel_ctx_t *ctx, unsigned ring,
 			c->execbuf.rsvd1 = c->ctx->id;
 
 			memset(c->object, 0, sizeof(c->object));
-			c->object[0].handle = gem_create(fd, 4096);
-			gem_write(fd, c->object[0].handle, 0, &bbe, sizeof(bbe));
+			c->object[0].handle = batch_create(fd, 4096, region);
 			c->execbuf.buffer_count = 1;
 			gem_execbuf(fd, &c->execbuf);
 
 			c->object[0].flags |= EXEC_OBJECT_WRITE;
-			c->object[1].handle = gem_create(fd, sz);
+			c->object[1].handle = gem_create_in_memory_regions(fd, sz, region);
 
 			c->object[1].relocs_ptr = to_user_pointer(c->reloc);
 			c->object[1].relocation_count = has_relocs ? 1024 * i : 0;
@@ -813,10 +816,9 @@ static void *waiter(void *arg)
 
 static void
 __store_many(int fd, const intel_ctx_t *ctx, unsigned ring,
-	     int timeout, unsigned long *cycles)
+	     int timeout, unsigned long *cycles, uint32_t region)
 {
 	const unsigned int gen = intel_gen(intel_get_drm_devid(fd));
-	const uint32_t bbe = MI_BATCH_BUFFER_END;
 	struct drm_i915_gem_exec_object2 object[2];
 	struct drm_i915_gem_execbuffer2 execbuf;
 	struct drm_i915_gem_relocation_entry reloc[1024];
@@ -836,8 +838,7 @@ __store_many(int fd, const intel_ctx_t *ctx, unsigned ring,
 	execbuf.rsvd1 = ctx->id;
 
 	memset(object, 0, sizeof(object));
-	object[0].handle = gem_create(fd, 4096);
-	gem_write(fd, object[0].handle, 0, &bbe, sizeof(bbe));
+	object[0].handle = batch_create(fd, 4096, region);
 	execbuf.buffer_count = 1;
 	gem_execbuf(fd, &execbuf);
 	object[0].flags |= EXEC_OBJECT_WRITE;
@@ -945,7 +946,7 @@ __store_many(int fd, const intel_ctx_t *ctx, unsigned ring,
 
 static void
 store_many(int fd, const intel_ctx_t *ctx, unsigned int ring,
-	   int num_children, int timeout)
+	   int num_children, int timeout, uint32_t region)
 {
 	struct intel_engine_data ied;
 	unsigned long *shared;
@@ -963,7 +964,8 @@ store_many(int fd, const intel_ctx_t *ctx, unsigned int ring,
 			__store_many(fd, ctx,
 				     ied_flags(&ied, n),
 				     timeout,
-				     &shared[n]);
+				     &shared[n],
+				     region);
 	}
 	igt_waitchildren();
 
@@ -976,7 +978,7 @@ store_many(int fd, const intel_ctx_t *ctx, unsigned int ring,
 }
 
 static void
-sync_all(int fd, const intel_ctx_t *ctx, int num_children, int timeout)
+sync_all(int fd, const intel_ctx_t *ctx, int num_children, int timeout, uint32_t region)
 {
 	struct intel_engine_data ied;
 
@@ -985,15 +987,13 @@ sync_all(int fd, const intel_ctx_t *ctx, int num_children, int timeout)
 
 	intel_detect_and_clear_missed_interrupts(fd);
 	igt_fork(child, num_children) {
-		const uint32_t bbe = MI_BATCH_BUFFER_END;
 		struct drm_i915_gem_exec_object2 object;
 		struct drm_i915_gem_execbuffer2 execbuf;
 		double start, elapsed;
 		unsigned long cycles;
 
 		memset(&object, 0, sizeof(object));
-		object.handle = gem_create(fd, 4096);
-		gem_write(fd, object.handle, 0, &bbe, sizeof(bbe));
+		object.handle = batch_create(fd, 4096, region);
 
 		memset(&execbuf, 0, sizeof(execbuf));
 		execbuf.buffers_ptr = to_user_pointer(&object);
@@ -1023,7 +1023,7 @@ sync_all(int fd, const intel_ctx_t *ctx, int num_children, int timeout)
 }
 
 static void
-store_all(int fd, const intel_ctx_t *ctx, int num_children, int timeout)
+store_all(int fd, const intel_ctx_t *ctx, int num_children, int timeout, uint32_t region)
 {
 	const unsigned int gen = intel_gen(intel_get_drm_devid(fd));
 	struct intel_engine_data ied;
@@ -1034,7 +1034,6 @@ store_all(int fd, const intel_ctx_t *ctx, int num_children, int timeout)
 
 	intel_detect_and_clear_missed_interrupts(fd);
 	igt_fork(child, num_children) {
-		const uint32_t bbe = MI_BATCH_BUFFER_END;
 		struct drm_i915_gem_exec_object2 object[2];
 		struct drm_i915_gem_relocation_entry reloc[1024];
 		struct drm_i915_gem_execbuffer2 execbuf;
@@ -1051,14 +1050,13 @@ store_all(int fd, const intel_ctx_t *ctx, int num_children, int timeout)
 		execbuf.rsvd1 = ctx->id;
 
 		memset(object, 0, sizeof(object));
-		object[0].handle = gem_create(fd, 4096);
-		gem_write(fd, object[0].handle, 0, &bbe, sizeof(bbe));
+		object[0].handle = batch_create(fd, 4096, region);

tests/i915/gem_sync.c store_all(int fd, const intel_ctx_t *ctx, int num_children, int timeout) · line 1062

Quoted 10 lines
tests/i915/gem_sync.c +1 -1
 		execbuf.buffer_count = 1;
 		gem_execbuf(fd, &execbuf);
 
 		object[0].flags |= EXEC_OBJECT_WRITE;
 		object[0].flags |= has_relocs ? 0 : EXEC_OBJECT_PINNED;
-		object[1].handle = gem_create(fd, 1024*16 + 4096);
+		object[1].handle = gem_create_in_memory_regions(fd, 1024*16 + 4096, region);
 
 		object[1].relocs_ptr = to_user_pointer(reloc);
 		object[1].relocation_count = has_relocs ? 1024 : 0;

Preempt wasn't touched. Is that your intention?

Quoted 57 lines
tests/i915/gem_sync.c +20 -7
@@ -1205,7 +1203,7 @@ igt_main
 	const struct {
 		const char *name;
 		void (*func)(int fd, const intel_ctx_t *ctx, unsigned int engine,
-			     int num_children, int timeout);
+			     int num_children, int timeout, uint32_t memregion);
 		int num_children;
 		int timeout;
 	} all[] = {
@@ -1241,6 +1239,10 @@ igt_main
 	const struct intel_execution_engine2 *e;
 	const intel_ctx_t *ctx;
 	int fd = -1;
+	struct drm_i915_query_memory_regions *query_info;
+	struct igt_collection *regions, *set;
+	char *sub_name;
+	uint32_t region;
 
 	igt_fixture {
 		fd = drm_open_driver(DRIVER_INTEL);
@@ -1250,6 +1252,11 @@ igt_main
 		ctx = intel_ctx_create_all_physical(fd);
 
 		igt_fork_hang_detector(fd);
+		query_info = gem_get_query_memory_regions(fd);
+		igt_assert(query_info);
+		set = get_memory_region_set(query_info,
+					I915_SYSTEM_MEMORY,
+					I915_DEVICE_MEMORY);
 		intel_allocator_multiprocess_start();
 	}
 
@@ -1257,41 +1264,101 @@ igt_main
 	for_each_test(t, individual) {
 		igt_subtest_with_dynamic_f("legacy-%s", t->name) {
 			for (const struct intel_execution_ring *l = intel_execution_rings; l->name; l++) {
-				igt_dynamic_f("%s", l->name) {
-					t->func(fd, intel_ctx_0(fd), eb_ring(l),
-						t->num_children, t->timeout);
+				for_each_combination(regions, 1, set) {
+					sub_name = memregion_dynamic_subtest_name(regions);
+					region = igt_collection_get_value(regions, 0);
+					igt_dynamic_f("%s-%s", l->name, sub_name) {
+						t->func(fd, intel_ctx_0(fd), eb_ring(l),
+								t->num_children,
+								t->timeout,
+								region);
+					}
+					free(sub_name);
 				}
 			}
 		}
 	}
 
-	igt_subtest("basic-all")
-		sync_all(fd, ctx, 1, 2);
-	igt_subtest("basic-store-all")

tests/i915/gem_sync.c igt_main · line 1280

Quoted 10 lines
tests/i915/gem_sync.c +0 -10
-		store_all(fd, ctx, 1, 2);
-
-	igt_subtest("all")
-		sync_all(fd, ctx, 1, 20);
-	igt_subtest("store-all")
-		store_all(fd, ctx, 1, 20);
-	igt_subtest("forked-all")
-		sync_all(fd, ctx, ncpus, 20);
-	igt_subtest("forked-store-all")
-		store_all(fd, ctx, ncpus, 20);

All below are asking for macro like in gem_exec_suspend.

--
Zbigniew

Quoted 102 lines
tests/i915/gem_sync.c +75 -7
+	igt_subtest_with_dynamic("basic-all") {
+		for_each_combination(regions, 1, set) {
+			sub_name = memregion_dynamic_subtest_name(regions);
+			region = igt_collection_get_value(regions, 0);
+			igt_dynamic_f("%s", sub_name)
+				sync_all(fd, ctx, 1, 2, region);
+			free(sub_name);
+		}
+	}
+	igt_subtest_with_dynamic("basic-store-all") {
+		for_each_combination(regions, 1, set) {
+			sub_name = memregion_dynamic_subtest_name(regions);
+			region = igt_collection_get_value(regions, 0);
+			igt_dynamic_f("%s", sub_name)
+				store_all(fd, ctx, 1, 2, region);
+			free(sub_name);
+		}
+	}
+	igt_subtest_with_dynamic("all") {
+		for_each_combination(regions, 1, set) {
+			sub_name = memregion_dynamic_subtest_name(regions);
+			region = igt_collection_get_value(regions, 0);
+			igt_dynamic_f("%s", sub_name)
+				sync_all(fd, ctx, 1, 20, region);
+			free(sub_name);
+		}
+	}
+	igt_subtest_with_dynamic("store-all") {
+		for_each_combination(regions, 1, set) {
+			sub_name = memregion_dynamic_subtest_name(regions);
+			region = igt_collection_get_value(regions, 0);
+			igt_dynamic_f("%s", sub_name)
+				store_all(fd, ctx, 1, 20, region);
+			free(sub_name);
+		}
+	}
+	igt_subtest_with_dynamic("forked-all") {
+		for_each_combination(regions, 1, set) {
+			sub_name = memregion_dynamic_subtest_name(regions);
+			region = igt_collection_get_value(regions, 0);
+			igt_dynamic_f("%s", sub_name)
+				sync_all(fd, ctx, ncpus, 20, region);
+			free(sub_name);
+		}
+	}
+	igt_subtest_with_dynamic("forked-store-all") {
+		for_each_combination(regions, 1, set) {
+			sub_name = memregion_dynamic_subtest_name(regions);
+			region = igt_collection_get_value(regions, 0);
+			igt_dynamic_f("%s", sub_name)
+				store_all(fd, ctx, ncpus, 20, region);
+			free(sub_name);
+		}
+	}
 
 	for_each_test(t, all) {
-		igt_subtest_f("%s", t->name)
-			t->func(fd, ctx, ALL_ENGINES, t->num_children, t->timeout);
+		igt_subtest_with_dynamic_f("%s", t->name) {
+			for_each_combination(regions, 1, set) {
+				sub_name = memregion_dynamic_subtest_name(regions);
+				region = igt_collection_get_value(regions, 0);
+				igt_dynamic_f("%s", sub_name)
+					t->func(fd, ctx, ALL_ENGINES, t->num_children,
+							t->timeout, region);
+				free(sub_name);
+			}
+		}
 	}
 
 	/* New way of selecting engines. */
 	for_each_test(t, individual) {
 		igt_subtest_with_dynamic_f("%s", t->name) {
-			for_each_ctx_engine(fd, ctx, e) {
-				igt_dynamic_f("%s", e->name) {
-					t->func(fd, ctx, e->flags,
-						t->num_children, t->timeout);
-				}
+			for_each_combination(regions, 1, set) {
+				sub_name = memregion_dynamic_subtest_name(regions);
+				region = igt_collection_get_value(regions, 0);
+				for_each_ctx_engine(fd, ctx, e)
+					igt_dynamic_f("%s-%s", e->name, sub_name)
+						t->func(fd, ctx, e->flags,
+								t->num_children,
+								t->timeout, region);
+				free(sub_name);
 			}
 		}
 	}
@@ -1314,6 +1381,8 @@ igt_main
 	}
 
 	igt_fixture {
+		free(query_info);
+		igt_collection_destroy(set);
 		intel_allocator_multiprocess_stop();
 		igt_stop_hang_detector();
 		intel_ctx_destroy(fd, ctx);
Signature · 1 line
2.32.0