All of lore.kernel.org
 help / color / mirror / Atom feed
* [igt-dev] [PATCH i-g-t 0/9] Adjust IGT for upstream API clean-ups
@ 2021-03-23 17:24 Jason Ekstrand
  2021-03-23 17:24 ` [igt-dev] [PATCH i-g-t 1/9] tests/i915: Drop gem_ctx_ringsize Jason Ekstrand
                   ` (10 more replies)
  0 siblings, 11 replies; 14+ messages in thread
From: Jason Ekstrand @ 2021-03-23 17:24 UTC (permalink / raw)
  To: igt-dev

I'm trying to remove some unused APIs from upstream i915.  This i-g-t
series updates tests in accordance with those removals.  For a few things,
it simply deletes tests which test explicitly for that feature.  For
cloning, we do actually use that for a bunch of stuff today so I just
implement the two clones we care about (engines and VMs) directly with
getparam and a create setparam.

Sorry about so many re-sends.  I'm still trying to figure out how to make
patchwork like my patches.  I think this one should finally do the trick.

Jason Ekstrand (9):
  tests/i915: Drop gem_ctx_ringsize
  tests/i915/gem_exec_balancer: Drop the ringsize subtest
  tests/i915/gem_exec_endless: Stop setting the ring size
  tests/i915/gem_ctx_param: Drop the zeromap subtests
  tests/i915: Drop gem_ctx_clone
  tests/i915/gem_ctx_create: Stop cloning engines
  tests/i915/gem_ctx_persistence: Drop the clone test
  tests/i915/gem_exec_balancer: Stop cloning engines
  lib/i915/gem_context: Implement VM and engine cloning manually (v3)

 lib/i915/gem_context.c           | 157 ++++++++---
 lib/i915/gem_context.h           |   9 +-
 tests/Makefile.sources           |   6 -
 tests/i915/gem_ctx_clone.c       | 450 -------------------------------
 tests/i915/gem_ctx_create.c      |   4 +-
 tests/i915/gem_ctx_param.c       |  33 ---
 tests/i915/gem_ctx_persistence.c |  30 ---
 tests/i915/gem_ctx_ringsize.c    | 345 ------------------------
 tests/i915/gem_ctx_shared.c      |  10 +-
 tests/i915/gem_exec_balancer.c   |  90 +------
 tests/i915/gem_exec_endless.c    |  12 +-
 tests/i915/gem_exec_schedule.c   |   8 +-
 tests/meson.build                |   2 -
 13 files changed, 138 insertions(+), 1018 deletions(-)
 delete mode 100644 tests/i915/gem_ctx_clone.c
 delete mode 100644 tests/i915/gem_ctx_ringsize.c

-- 
2.29.2

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [igt-dev] [PATCH i-g-t 1/9] tests/i915: Drop gem_ctx_ringsize
  2021-03-23 17:24 [igt-dev] [PATCH i-g-t 0/9] Adjust IGT for upstream API clean-ups Jason Ekstrand
@ 2021-03-23 17:24 ` Jason Ekstrand
  2021-03-23 17:24 ` [igt-dev] [PATCH i-g-t 2/9] tests/i915/gem_exec_balancer: Drop the ringsize subtest Jason Ekstrand
                   ` (9 subsequent siblings)
  10 siblings, 0 replies; 14+ messages in thread
From: Jason Ekstrand @ 2021-03-23 17:24 UTC (permalink / raw)
  To: igt-dev

I915_CONTEXT_PARAM_RINGSIZE is being removed from upstream i915 because
it's never been used by any userspace other than IGT.

Signed-off-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 tests/Makefile.sources        |   3 -
 tests/i915/gem_ctx_ringsize.c | 345 ----------------------------------
 tests/meson.build             |   1 -
 3 files changed, 349 deletions(-)
 delete mode 100644 tests/i915/gem_ctx_ringsize.c

diff --git a/tests/Makefile.sources b/tests/Makefile.sources
index 4f24fb3a..bffa0db3 100644
--- a/tests/Makefile.sources
+++ b/tests/Makefile.sources
@@ -193,9 +193,6 @@ gem_ctx_param_SOURCES = i915/gem_ctx_param.c
 TESTS_progs += gem_ctx_persistence
 gem_ctx_persistence_SOURCES = i915/gem_ctx_persistence.c
 
-TESTS_progs += gem_ctx_ringsize
-gem_ctx_ringsize_SOURCES = i915/gem_ctx_ringsize.c
-
 TESTS_progs += gem_ctx_shared
 gem_ctx_shared_SOURCES = i915/gem_ctx_shared.c
 
diff --git a/tests/i915/gem_ctx_ringsize.c b/tests/i915/gem_ctx_ringsize.c
deleted file mode 100644
index 60187b7c..00000000
--- a/tests/i915/gem_ctx_ringsize.c
+++ /dev/null
@@ -1,345 +0,0 @@
-/*
- * Copyright © 2019 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
- * IN THE SOFTWARE.
- */
-
-#include <errno.h>
-#include <fcntl.h>
-#include <inttypes.h>
-#include <math.h>
-#include <signal.h>
-#include <sys/ioctl.h>
-#include <sys/types.h>
-#include <unistd.h>
-
-#include "drmtest.h"
-#include "i915/gem.h"
-#include "i915/gem_context.h"
-#include "i915/gem_engine_topology.h"
-#include "ioctl_wrappers.h" /* gem_wait()! */
-#include "sw_sync.h"
-
-static bool has_ringsize(int i915)
-{
-	struct drm_i915_gem_context_param p = {
-		.param = I915_CONTEXT_PARAM_RINGSIZE,
-	};
-
-	return __gem_context_get_param(i915, &p) == 0;
-}
-
-static void test_idempotent(int i915)
-{
-	struct drm_i915_gem_context_param p = {
-		.param = I915_CONTEXT_PARAM_RINGSIZE,
-	};
-	uint32_t saved;
-
-	/*
-	 * Simple test to verify that we are able to read back the same
-	 * value as we set.
-	 */
-
-	gem_context_get_param(i915, &p);
-	saved = p.value;
-
-	for (uint32_t x = 1 << 12; x <= 128 << 12; x <<= 1) {
-		p.value = x;
-		gem_context_set_param(i915, &p);
-		gem_context_get_param(i915, &p);
-		igt_assert_eq_u32(p.value, x);
-	}
-
-	p.value = saved;
-	gem_context_set_param(i915, &p);
-}
-
-static void test_invalid(int i915)
-{
-	struct drm_i915_gem_context_param p = {
-		.param = I915_CONTEXT_PARAM_RINGSIZE,
-	};
-	uint64_t invalid[] = {
-		0, 1, 4095, 4097, 8191, 8193,
-		/* upper limit may be HW dependent, atm it is 512KiB */
-		(512 << 10) - 1, (512 << 10) + 1,
-		-1, -1u
-	};
-	uint32_t saved;
-
-	/*
-	 * The HW only accepts certain aligned values and so we reject
-	 * any invalid sizes specified by the user.
-	 *
-	 * Currently, the HW only accepts 4KiB - 512KiB in 4K increments,
-	 * and is unlikely to ever accept smaller.
-	 */
-
-	gem_context_get_param(i915, &p);
-	saved = p.value;
-
-	for (int i = 0; i < ARRAY_SIZE(invalid); i++) {
-		p.value = invalid[i];
-		igt_assert_eq(__gem_context_set_param(i915, &p), -EINVAL);
-		gem_context_get_param(i915, &p);
-		igt_assert_eq_u64(p.value, saved);
-	}
-}
-
-static int create_ext_ioctl(int i915,
-			    struct drm_i915_gem_context_create_ext *arg)
-{
-	int err;
-
-	err = 0;
-	if (igt_ioctl(i915, DRM_IOCTL_I915_GEM_CONTEXT_CREATE_EXT, arg)) {
-		err = -errno;
-		igt_assume(err);
-	}
-
-	errno = 0;
-	return err;
-}
-
-static void test_create(int i915)
-{
-	struct drm_i915_gem_context_create_ext_setparam p = {
-		.base = {
-			.name = I915_CONTEXT_CREATE_EXT_SETPARAM,
-			.next_extension = 0, /* end of chain */
-		},
-		.param = {
-			.param = I915_CONTEXT_PARAM_RINGSIZE,
-			.value = 512 << 10,
-		}
-	};
-	struct drm_i915_gem_context_create_ext create = {
-		.flags = I915_CONTEXT_CREATE_FLAGS_USE_EXTENSIONS,
-		.extensions = to_user_pointer(&p),
-	};
-
-	/*
-	 * Check that the ringsize parameter is used during context constuction.
-	 */
-
-	igt_assert_eq(create_ext_ioctl(i915, &create),  0);
-
-	p.param.ctx_id = create.ctx_id;
-	p.param.value = 0;
-	gem_context_get_param(i915, &p.param);
-	igt_assert_eq(p.param.value, 512 << 10);
-
-	gem_context_destroy(i915, create.ctx_id);
-}
-
-static void test_clone(int i915)
-{
-	struct drm_i915_gem_context_create_ext_setparam p = {
-		.base = {
-			.name = I915_CONTEXT_CREATE_EXT_SETPARAM,
-			.next_extension = 0, /* end of chain */
-		},
-		.param = {
-			.param = I915_CONTEXT_PARAM_RINGSIZE,
-			.value = 512 << 10,
-		}
-	};
-	struct drm_i915_gem_context_create_ext create = {
-		.flags = I915_CONTEXT_CREATE_FLAGS_USE_EXTENSIONS,
-		.extensions = to_user_pointer(&p),
-	};
-
-	/*
-	 * Check that the ringsize is copied across during context cloning.
-	 */
-
-	igt_assert_eq(create_ext_ioctl(i915, &create),  0);
-
-	p.param.ctx_id = gem_context_clone(i915, create.ctx_id,
-					   I915_CONTEXT_CLONE_ENGINES, 0);
-	igt_assert_neq(p.param.ctx_id, create.ctx_id);
-	gem_context_destroy(i915, create.ctx_id);
-
-	p.param.value = 0;
-	gem_context_get_param(i915, &p.param);
-	igt_assert_eq(p.param.value, 512 << 10);
-
-	gem_context_destroy(i915, p.param.ctx_id);
-}
-
-static int __execbuf(int i915, struct drm_i915_gem_execbuffer2 *execbuf)
-{
-	int err;
-
-	err = 0;
-	if (ioctl(i915, DRM_IOCTL_I915_GEM_EXECBUFFER2, execbuf)) {
-		err = -errno;
-		igt_assume(err);
-	}
-
-	errno = 0;
-	return err;
-}
-
-#define IDLE (1 << 0)
-#define PLUG (1 << 1)
-
-static void sighandler(int sig)
-{
-}
-
-static unsigned int
-measure_inflight(int i915, unsigned int engine, int timeout, unsigned int flags)
-{
-	IGT_CORK_FENCE(cork);
-	unsigned int count;
-	igt_spin_t *spin;
-	int fence;
-	int err;
-
-	fcntl(i915, F_SETFL, fcntl(i915, F_GETFL) | O_NONBLOCK);
-	signal(SIGALRM, sighandler);
-	alarm(timeout);
-
-	fence = igt_cork_plug(&cork, i915);
-	spin = igt_spin_new(i915,
-			    .engine = engine,
-			    .fence = fence,
-			    .flags = (flags & PLUG) ? IGT_SPIN_FENCE_IN : 0);
-	for (count = 1; (err = __execbuf(i915, &spin->execbuf)) == 0; count++)
-		;
-	igt_debugfs_dump(i915, "i915_engine_info");
-	igt_assert_eq(err, -EWOULDBLOCK);
-	close(fence);
-
-	alarm(0);
-	signal(SIGALRM, SIG_DFL);
-	fcntl(i915, F_SETFL, fcntl(i915, F_GETFL) & ~O_NONBLOCK);
-
-	igt_spin_free(i915, spin);
-	igt_cork_unplug(&cork);
-
-	return count;
-}
-
-static void test_resize(int i915,
-			const struct intel_execution_engine2 *e,
-			void *data)
-#define as_pointer(x) (void *)(uintptr_t)(x)
-{
-	struct drm_i915_gem_context_param p = {
-		.param = I915_CONTEXT_PARAM_RINGSIZE,
-	};
-	unsigned long flags = (uintptr_t)data;
-	unsigned int prev[2] = {};
-	uint64_t elapsed;
-	uint32_t saved;
-
-	/*
-	 * The ringsize directly affects the number of batches we can have
-	 * inflight -- when we run out of room in the ring, the client is
-	 * blocked (or if O_NONBLOCK is specified, -EWOULDBLOCK is reported).
-	 * The kernel throttles the client when they enter the last 4KiB page,
-	 * so as we double the size of the ring, we nearly double the number
-	 * of requests we can fit as 2^n-1: i.e 0, 1, 3, 7, 15, 31 pages.
-	 */
-
-	gem_context_get_param(i915, &p);
-	saved = p.value;
-
-	/* XXX disable hangchecking? */
-	elapsed = 0;
-	gem_quiescent_gpu(i915);
-	for (p.value = 1 << 12; p.value <= 128 << 12; p.value <<= 1) {
-		struct timespec tv = {};
-		unsigned int count;
-
-		gem_context_set_param(i915, &p);
-
-		igt_nsec_elapsed(&tv);
-		count = measure_inflight(i915,
-					 e->flags,
-					 1 + 4 * ceil(elapsed*1e-9),
-					 flags);
-		elapsed = igt_nsec_elapsed(&tv);
-
-		igt_info("%s: %6llx -> %'6d\n", e->name, p.value, count);
-		igt_assert(count > 3 * (prev[1] - prev[0]) / 4 + prev[1]);
-		if (flags & IDLE)
-			gem_quiescent_gpu(i915);
-
-		prev[0] = prev[1];
-		prev[1] = count;
-	}
-	gem_quiescent_gpu(i915);
-
-	p.value = saved;
-	gem_context_set_param(i915, &p);
-}
-
-static void gem_test_each_engine(int i915, const char *name,
-				 void (*fn)(int i915,
-					    const struct intel_execution_engine2 *e,
-					    void *data),
-				 void *data)
-{
-	const struct intel_execution_engine2 *e;
-
-	igt_subtest_with_dynamic(name) {
-		__for_each_physical_engine(i915, e) {
-			igt_dynamic_f("%s", e->name)
-				fn(i915, e, data);
-		}
-	}
-}
-
-igt_main
-{
-	int i915;
-
-	igt_fixture {
-		i915 = drm_open_driver(DRIVER_INTEL);
-		igt_require_gem(i915);
-
-		igt_require(has_ringsize(i915));
-	}
-
-	igt_subtest("idempotent")
-		test_idempotent(i915);
-
-	igt_subtest("invalid")
-		test_invalid(i915);
-
-	igt_subtest("create")
-		test_create(i915);
-	igt_subtest("clone")
-		test_clone(i915);
-
-	gem_test_each_engine(i915, "idle", test_resize, as_pointer(IDLE));
-	gem_test_each_engine(i915, "active", test_resize, 0);
-	gem_test_each_engine(i915, "plugged", test_resize, as_pointer(PLUG));
-
-	/* XXX ctx->engines[]? Clone (above) should be enough */
-
-	igt_fixture {
-		close(i915);
-	}
-}
diff --git a/tests/meson.build b/tests/meson.build
index 825e0183..c85768e1 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -134,7 +134,6 @@ i915_progs = [
 	'gem_ctx_isolation',
 	'gem_ctx_param',
 	'gem_ctx_persistence',
-	'gem_ctx_ringsize',
 	'gem_ctx_shared',
 	'gem_ctx_switch',
 	'gem_evict_alignment',
-- 
2.29.2

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [igt-dev] [PATCH i-g-t 2/9] tests/i915/gem_exec_balancer: Drop the ringsize subtest
  2021-03-23 17:24 [igt-dev] [PATCH i-g-t 0/9] Adjust IGT for upstream API clean-ups Jason Ekstrand
  2021-03-23 17:24 ` [igt-dev] [PATCH i-g-t 1/9] tests/i915: Drop gem_ctx_ringsize Jason Ekstrand
@ 2021-03-23 17:24 ` Jason Ekstrand
  2021-03-23 17:24 ` [igt-dev] [PATCH i-g-t 3/9] tests/i915/gem_exec_endless: Stop setting the ring size Jason Ekstrand
                   ` (8 subsequent siblings)
  10 siblings, 0 replies; 14+ messages in thread
From: Jason Ekstrand @ 2021-03-23 17:24 UTC (permalink / raw)
  To: igt-dev

I915_CONTEXT_PARAM_RINGSIZE is being removed from upstream i915 because
it's never been used by any userspace other than IGT.

Signed-off-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 tests/i915/gem_exec_balancer.c | 81 ----------------------------------
 1 file changed, 81 deletions(-)

diff --git a/tests/i915/gem_exec_balancer.c b/tests/i915/gem_exec_balancer.c
index 01db0e11..bfd65b29 100644
--- a/tests/i915/gem_exec_balancer.c
+++ b/tests/i915/gem_exec_balancer.c
@@ -2551,84 +2551,6 @@ next:
 	gem_quiescent_gpu(i915);
 }
 
-static void sighandler(int sig)
-{
-}
-
-static unsigned int measure_inflight(int i915, uint32_t ctx, int timeout)
-{
-	igt_spin_t *spin = igt_spin_new(i915, ctx);
-	unsigned int count;
-	int err;
-
-	fcntl(i915, F_SETFL, fcntl(i915, F_GETFL) | O_NONBLOCK);
-	signal(SIGALRM, sighandler);
-	alarm(timeout);
-
-	for (count = 1; (err = __execbuf(i915, &spin->execbuf)) == 0; count++)
-		;
-	igt_assert_eq(err, -EWOULDBLOCK);
-
-	alarm(0);
-	signal(SIGALRM, SIG_DFL);
-	fcntl(i915, F_SETFL, fcntl(i915, F_GETFL) & ~O_NONBLOCK);
-
-	igt_spin_free(i915, spin);
-
-	return count;
-}
-
-static void __resize(int i915, uint32_t ctx)
-{
-	struct drm_i915_gem_context_param p = {
-		.ctx_id = ctx,
-		.param = I915_CONTEXT_PARAM_RINGSIZE,
-	};
-	unsigned int prev[2] = {};
-	uint64_t elapsed;
-
-	elapsed = 0;
-	gem_quiescent_gpu(i915);
-	for (p.value = 1 << 12; p.value <= 128 << 12; p.value <<= 1) {
-		struct timespec tv = {};
-		unsigned int count;
-
-		gem_context_set_param(i915, &p);
-
-		igt_nsec_elapsed(&tv);
-		count = measure_inflight(i915, ctx, 1 + 4 * ceil(elapsed*1e-9));
-		elapsed = igt_nsec_elapsed(&tv);
-
-		igt_info("%6llx -> %'6d\n", p.value, count);
-		igt_assert(count > 3 * (prev[1] - prev[0]) / 4 + prev[1]);
-
-		prev[0] = prev[1];
-		prev[1] = count;
-	}
-	gem_quiescent_gpu(i915);
-}
-
-static void ringsz(int i915)
-{
-	for (int class = 0; class < 32; class++) {
-		struct i915_engine_class_instance *ci;
-		unsigned int count;
-		uint32_t ctx;
-
-		ci = list_engines(i915, 1u << class, &count);
-		if (!ci || count < 2)
-			goto next;
-
-		ctx = load_balancer_create(i915, ci, count);
-		__resize(i915, ctx);
-		gem_context_destroy(i915, ctx);
-next:
-		free(ci);
-	}
-
-	gem_quiescent_gpu(i915);
-}
-
 static void ping(int i915, uint32_t ctx, unsigned int engine)
 {
 	struct drm_i915_gem_exec_object2 obj = {
@@ -3304,9 +3226,6 @@ igt_main
 	igt_subtest("fairslice")
 		fairslice(i915);
 
-	igt_subtest("ringsize")
-		ringsz(i915);
-
 	igt_subtest("nop")
 		nop(i915);
 
-- 
2.29.2

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [igt-dev] [PATCH i-g-t 3/9] tests/i915/gem_exec_endless: Stop setting the ring size
  2021-03-23 17:24 [igt-dev] [PATCH i-g-t 0/9] Adjust IGT for upstream API clean-ups Jason Ekstrand
  2021-03-23 17:24 ` [igt-dev] [PATCH i-g-t 1/9] tests/i915: Drop gem_ctx_ringsize Jason Ekstrand
  2021-03-23 17:24 ` [igt-dev] [PATCH i-g-t 2/9] tests/i915/gem_exec_balancer: Drop the ringsize subtest Jason Ekstrand
@ 2021-03-23 17:24 ` Jason Ekstrand
  2021-03-23 17:24 ` [igt-dev] [PATCH i-g-t 4/9] tests/i915/gem_ctx_param: Drop the zeromap subtests Jason Ekstrand
                   ` (7 subsequent siblings)
  10 siblings, 0 replies; 14+ messages in thread
From: Jason Ekstrand @ 2021-03-23 17:24 UTC (permalink / raw)
  To: igt-dev

I915_CONTEXT_PARAM_RINGSIZE is being removed from upstream i915 because
it's never been used by any userspace other than IGT.

Signed-off-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 tests/i915/gem_exec_endless.c | 12 +-----------
 1 file changed, 1 insertion(+), 11 deletions(-)

diff --git a/tests/i915/gem_exec_endless.c b/tests/i915/gem_exec_endless.c
index 1b320d4c..a3e2fa49 100644
--- a/tests/i915/gem_exec_endless.c
+++ b/tests/i915/gem_exec_endless.c
@@ -67,16 +67,6 @@ static unsigned int offset_in_page(void *addr)
 static uint32_t __supervisor_create_context(int i915,
 					    const struct intel_execution_engine2 *e)
 {
-	struct drm_i915_gem_context_create_ext_setparam p_ring = {
-		{
-			.name = I915_CONTEXT_CREATE_EXT_SETPARAM,
-			.next_extension = 0
-		},
-		{
-			.param = I915_CONTEXT_PARAM_RINGSIZE,
-			.value = 4096,
-		},
-	};
 	I915_DEFINE_CONTEXT_PARAM_ENGINES(engines, 2) = {
 		.engines = {
 			{ e->class, e->instance },
@@ -86,7 +76,7 @@ static uint32_t __supervisor_create_context(int i915,
 	struct drm_i915_gem_context_create_ext_setparam p_engines = {
 		{
 			.name = I915_CONTEXT_CREATE_EXT_SETPARAM,
-			.next_extension = to_user_pointer(&p_ring)
+			.next_extension = 0,
 		},
 		{
 			.param = I915_CONTEXT_PARAM_ENGINES,
-- 
2.29.2

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [igt-dev] [PATCH i-g-t 4/9] tests/i915/gem_ctx_param: Drop the zeromap subtests
  2021-03-23 17:24 [igt-dev] [PATCH i-g-t 0/9] Adjust IGT for upstream API clean-ups Jason Ekstrand
                   ` (2 preceding siblings ...)
  2021-03-23 17:24 ` [igt-dev] [PATCH i-g-t 3/9] tests/i915/gem_exec_endless: Stop setting the ring size Jason Ekstrand
@ 2021-03-23 17:24 ` Jason Ekstrand
  2021-03-23 17:24 ` [igt-dev] [PATCH i-g-t 5/9] tests/i915: Drop gem_ctx_clone Jason Ekstrand
                   ` (6 subsequent siblings)
  10 siblings, 0 replies; 14+ messages in thread
From: Jason Ekstrand @ 2021-03-23 17:24 UTC (permalink / raw)
  To: igt-dev

The idea behind this param is to support OpenCL drivers with relocations
because OpenCL reserves 0x0 for NULL and, if we placed memory there, it
would confuse CL kernels.  It was originally sent out as part of a patch
series including libdrm [1] and Beignet [2] support.  However, the
libdrm and Beignet patches never landed in their respective upstream
projects so this API has never been used.  It's never been used in Mesa
or any other driver, either.

This means that these IGT tests are the only userspace for NO_ZEROMAP
which has ever really existed.  Let's drop them and drop support from
i915 as well.

[1]: https://lists.freedesktop.org/archives/intel-gfx/2015-May/067030.html
[2]: https://lists.freedesktop.org/archives/intel-gfx/2015-May/067031.html

Signed-off-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 tests/i915/gem_ctx_param.c | 33 ---------------------------------
 1 file changed, 33 deletions(-)

diff --git a/tests/i915/gem_ctx_param.c b/tests/i915/gem_ctx_param.c
index ab0e3007..47fea06d 100644
--- a/tests/i915/gem_ctx_param.c
+++ b/tests/i915/gem_ctx_param.c
@@ -335,39 +335,6 @@ igt_main
 		gem_context_set_param(fd, &arg);
 	}
 
-	arg.param = I915_CONTEXT_PARAM_NO_ZEROMAP;
-
-	igt_describe("Validates context set param ioctl in non root mode with param "
-	       "set to no zeromap");
-	igt_subtest("non-root-set-no-zeromap") {
-		igt_fork(child, 1) {
-			igt_drop_root();
-
-			arg.ctx_id = ctx;
-			gem_context_get_param(fd, &arg);
-			arg.value--;
-			gem_context_set_param(fd, &arg);
-		}
-
-		igt_waitchildren();
-	}
-
-	igt_describe("Tests the context set param ioctl with no zeromap enabled in root mode");
-	igt_subtest("root-set-no-zeromap-enabled") {
-		arg.ctx_id = ctx;
-		gem_context_get_param(fd, &arg);
-		arg.value = 1;
-		gem_context_set_param(fd, &arg);
-	}
-
-	igt_describe("Tests the context set param ioctl with no zeromap disabled in root mode");
-	igt_subtest("root-set-no-zeromap-disabled") {
-		arg.ctx_id = ctx;
-		gem_context_get_param(fd, &arg);
-		arg.value = 0;
-		gem_context_set_param(fd, &arg);
-	}
-
 	igt_describe("Tests that multiple contexts can share the same VMA");
 	igt_subtest("vm")
 		test_vm(fd);
-- 
2.29.2

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [igt-dev] [PATCH i-g-t 5/9] tests/i915: Drop gem_ctx_clone
  2021-03-23 17:24 [igt-dev] [PATCH i-g-t 0/9] Adjust IGT for upstream API clean-ups Jason Ekstrand
                   ` (3 preceding siblings ...)
  2021-03-23 17:24 ` [igt-dev] [PATCH i-g-t 4/9] tests/i915/gem_ctx_param: Drop the zeromap subtests Jason Ekstrand
@ 2021-03-23 17:24 ` Jason Ekstrand
  2021-03-23 17:24 ` [igt-dev] [PATCH i-g-t 6/9] tests/i915/gem_ctx_create: Stop cloning engines Jason Ekstrand
                   ` (5 subsequent siblings)
  10 siblings, 0 replies; 14+ messages in thread
From: Jason Ekstrand @ 2021-03-23 17:24 UTC (permalink / raw)
  To: igt-dev

We're going to be deleting the CONTEXT_CLONE API since IGT is the only
userspace to ever use it.

Signed-off-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 tests/Makefile.sources     |   3 -
 tests/i915/gem_ctx_clone.c | 450 -------------------------------------
 tests/meson.build          |   1 -
 3 files changed, 454 deletions(-)
 delete mode 100644 tests/i915/gem_ctx_clone.c

diff --git a/tests/Makefile.sources b/tests/Makefile.sources
index bffa0db3..a0c23c1f 100644
--- a/tests/Makefile.sources
+++ b/tests/Makefile.sources
@@ -169,9 +169,6 @@ gem_cs_tlb_SOURCES = i915/gem_cs_tlb.c
 TESTS_progs += gem_ctx_bad_destroy
 gem_ctx_bad_destroy_SOURCES = i915/gem_ctx_bad_destroy.c
 
-TESTS_progs += gem_ctx_clone
-gem_ctx_clone_SOURCES = i915/gem_ctx_clone.c
-
 TESTS_progs += gem_ctx_create
 gem_ctx_create_SOURCES = i915/gem_ctx_create.c
 
diff --git a/tests/i915/gem_ctx_clone.c b/tests/i915/gem_ctx_clone.c
deleted file mode 100644
index b72269bc..00000000
--- a/tests/i915/gem_ctx_clone.c
+++ /dev/null
@@ -1,450 +0,0 @@
-/*
- * Copyright © 2019 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
- * IN THE SOFTWARE.
- */
-
-#include "i915/gem.h"
-#include "i915/gem_vm.h"
-#include "i915_drm.h"
-#include "igt.h"
-#include "igt_gt.h"
-
-static int ctx_create_ioctl(int i915, struct drm_i915_gem_context_create_ext *arg)
-{
-	int err;
-
-	err = 0;
-	if (igt_ioctl(i915, DRM_IOCTL_I915_GEM_CONTEXT_CREATE_EXT, arg)) {
-		err = -errno;
-		igt_assume(err);
-	}
-
-	errno = 0;
-	return err;
-}
-
-static void invalid_clone(int i915)
-{
-	struct drm_i915_gem_context_create_ext_clone ext = {
-		{ .name = I915_CONTEXT_CREATE_EXT_CLONE },
-	};
-	struct drm_i915_gem_context_create_ext create = {
-		.flags = I915_CONTEXT_CREATE_FLAGS_USE_EXTENSIONS,
-		.extensions = to_user_pointer(&ext),
-	};
-
-	igt_assert_eq(ctx_create_ioctl(i915, &create), 0);
-	gem_context_destroy(i915, create.ctx_id);
-
-	ext.flags = -1; /* Hopefully we won't run out of flags */
-	igt_assert_eq(ctx_create_ioctl(i915, &create), -EINVAL);
-	ext.flags = 0;
-
-	ext.base.next_extension = -1;
-	igt_assert_eq(ctx_create_ioctl(i915, &create), -EFAULT);
-	ext.base.next_extension = to_user_pointer(&ext);
-	igt_assert_eq(ctx_create_ioctl(i915, &create), -E2BIG);
-	ext.base.next_extension = 0;
-
-	ext.clone_id = -1;
-	igt_assert_eq(ctx_create_ioctl(i915, &create), -ENOENT);
-	ext.clone_id = 0;
-}
-
-static void clone_flags(int i915)
-{
-	struct drm_i915_gem_context_create_ext_setparam set = {
-		{ .name = I915_CONTEXT_CREATE_EXT_SETPARAM },
-		{ .param = I915_CONTEXT_PARAM_RECOVERABLE },
-	};
-	struct drm_i915_gem_context_create_ext_clone ext = {
-		{ .name = I915_CONTEXT_CREATE_EXT_CLONE },
-		.flags = I915_CONTEXT_CLONE_FLAGS,
-	};
-	struct drm_i915_gem_context_create_ext create = {
-		.flags = I915_CONTEXT_CREATE_FLAGS_USE_EXTENSIONS,
-		.extensions = to_user_pointer(&ext),
-	};
-	int expected;
-
-	set.param.value = 1; /* default is recoverable */
-	igt_require(__gem_context_set_param(i915, &set.param) == 0);
-
-	for (int pass = 0; pass < 2; pass++) { /* cloning default, then child */
-		igt_debug("Cloning %d\n", ext.clone_id);
-		igt_assert_eq(ctx_create_ioctl(i915, &create), 0);
-
-		set.param.ctx_id = ext.clone_id;
-		gem_context_get_param(i915, &set.param);
-		expected = set.param.value;
-
-		set.param.ctx_id = create.ctx_id;
-		gem_context_get_param(i915, &set.param);
-
-		igt_assert_eq_u64(set.param.param,
-				  I915_CONTEXT_PARAM_RECOVERABLE);
-		igt_assert_eq((int)set.param.value, expected);
-
-		gem_context_destroy(i915, create.ctx_id);
-
-		expected = set.param.value = 0;
-		set.param.ctx_id = ext.clone_id;
-		gem_context_set_param(i915, &set.param);
-
-		igt_assert_eq(ctx_create_ioctl(i915, &create), 0);
-
-		set.param.ctx_id = create.ctx_id;
-		gem_context_get_param(i915, &set.param);
-
-		igt_assert_eq_u64(set.param.param,
-				  I915_CONTEXT_PARAM_RECOVERABLE);
-		igt_assert_eq((int)set.param.value, expected);
-
-		gem_context_destroy(i915, create.ctx_id);
-
-		/* clone but then reset priority to default... */
-		set.param.ctx_id = 0;
-		set.param.value = 1;
-		ext.base.next_extension = to_user_pointer(&set);
-		igt_assert_eq(ctx_create_ioctl(i915, &create), 0);
-		ext.base.next_extension = 0;
-
-		/* then new context should have updated priority... */
-		set.param.ctx_id = create.ctx_id;
-		gem_context_get_param(i915, &set.param);
-		igt_assert_eq_u64(set.param.value, 1);
-
-		/* but original context should have default priority */
-		set.param.ctx_id = ext.clone_id;
-		gem_context_get_param(i915, &set.param);
-		igt_assert_eq_u64(set.param.value, 0);
-
-		gem_context_destroy(i915, create.ctx_id);
-		ext.clone_id = gem_context_create(i915);
-	}
-
-	gem_context_destroy(i915, ext.clone_id);
-}
-
-static void clone_engines(int i915)
-{
-	struct drm_i915_gem_context_create_ext_setparam set = {
-		{ .name = I915_CONTEXT_CREATE_EXT_SETPARAM },
-		{ .param = I915_CONTEXT_PARAM_ENGINES },
-	};
-	struct drm_i915_gem_context_create_ext_clone ext = {
-		{ .name = I915_CONTEXT_CREATE_EXT_CLONE },
-		.flags = I915_CONTEXT_CLONE_ENGINES,
-	};
-	struct drm_i915_gem_context_create_ext create = {
-		.flags = I915_CONTEXT_CREATE_FLAGS_USE_EXTENSIONS,
-		.extensions = to_user_pointer(&ext),
-	};
-	I915_DEFINE_CONTEXT_PARAM_ENGINES(expected, 64);
-	I915_DEFINE_CONTEXT_PARAM_ENGINES(engines, 64);
-	uint64_t ex_size;
-
-	memset(&expected, 0, sizeof(expected));
-	memset(&engines, 0, sizeof(engines));
-
-	igt_require(__gem_context_set_param(i915, &set.param) == 0);
-
-	for (int pass = 0; pass < 2; pass++) { /* cloning default, then child */
-		igt_debug("Cloning %d\n", ext.clone_id);
-		igt_assert_eq(ctx_create_ioctl(i915, &create), 0);
-
-		/* Check that we cloned the engine map */
-		set.param.ctx_id = ext.clone_id;
-		set.param.size = sizeof(expected);
-		set.param.value = to_user_pointer(&expected);
-		gem_context_get_param(i915, &set.param);
-		ex_size = set.param.size;
-
-		set.param.ctx_id = create.ctx_id;
-		set.param.size = sizeof(engines);
-		set.param.value = to_user_pointer(&engines);
-		gem_context_get_param(i915, &set.param);
-
-		igt_assert_eq_u64(set.param.param, I915_CONTEXT_PARAM_ENGINES);
-		igt_assert_eq_u64(set.param.size, ex_size);
-		igt_assert(!memcmp(&engines, &expected, ex_size));
-
-		gem_context_destroy(i915, create.ctx_id);
-
-		/* Check that the clone will replace an earlier set */
-		expected.engines[0].engine_class =
-			I915_ENGINE_CLASS_INVALID;
-		expected.engines[0].engine_instance =
-			I915_ENGINE_CLASS_INVALID_NONE;
-		ex_size = (sizeof(struct i915_context_param_engines) +
-			   sizeof(expected.engines[0]));
-
-		set.param.ctx_id = ext.clone_id;
-		set.param.size = ex_size;
-		set.param.value = to_user_pointer(&expected);
-		gem_context_set_param(i915, &set.param);
-
-		igt_assert_eq(ctx_create_ioctl(i915, &create), 0);
-
-		set.param.ctx_id = create.ctx_id;
-		set.param.size = sizeof(engines);
-		set.param.value = to_user_pointer(&engines);
-		gem_context_get_param(i915, &set.param);
-
-		igt_assert_eq_u64(set.param.size, ex_size);
-		igt_assert(!memcmp(&engines, &expected, ex_size));
-
-		gem_context_destroy(i915, create.ctx_id);
-
-		/* clone but then reset engines to default */
-		set.param.ctx_id = 0;
-		set.param.size = 0;
-		set.param.value = 0;
-		ext.base.next_extension = to_user_pointer(&set);
-
-		igt_assert_eq(ctx_create_ioctl(i915, &create), 0);
-		ext.base.next_extension = 0;
-
-		set.param.ctx_id = create.ctx_id;
-		set.param.size = sizeof(engines);
-		set.param.value = to_user_pointer(&engines);
-		gem_context_get_param(i915, &set.param);
-		igt_assert_eq_u64(set.param.size, 0);
-
-		gem_context_destroy(i915, create.ctx_id);
-
-		/* And check we ignore the flag */
-		ext.flags = 0;
-		igt_assert_eq(ctx_create_ioctl(i915, &create), 0);
-		ext.flags = I915_CONTEXT_CLONE_ENGINES;
-
-		set.param.ctx_id = create.ctx_id;
-		set.param.size = sizeof(engines);
-		set.param.value = to_user_pointer(&engines);
-		gem_context_get_param(i915, &set.param);
-		igt_assert_eq_u64(set.param.size, 0);
-
-		ext.clone_id = gem_context_create(i915);
-	}
-
-	gem_context_destroy(i915, ext.clone_id);
-}
-
-static void clone_scheduler(int i915)
-{
-	struct drm_i915_gem_context_create_ext_setparam set = {
-		{ .name = I915_CONTEXT_CREATE_EXT_SETPARAM },
-		{ .param = I915_CONTEXT_PARAM_PRIORITY },
-	};
-	struct drm_i915_gem_context_create_ext_clone ext = {
-		{ .name = I915_CONTEXT_CREATE_EXT_CLONE },
-		.flags = I915_CONTEXT_CLONE_SCHEDATTR,
-	};
-	struct drm_i915_gem_context_create_ext create = {
-		.flags = I915_CONTEXT_CREATE_FLAGS_USE_EXTENSIONS,
-		.extensions = to_user_pointer(&ext),
-	};
-	int expected;
-
-	igt_require(__gem_context_set_param(i915, &set.param) == 0);
-
-	for (int pass = 0; pass < 2; pass++) { /* cloning default, then child */
-		igt_debug("Cloning %d\n", ext.clone_id);
-		igt_assert_eq(ctx_create_ioctl(i915, &create), 0);
-
-		set.param.ctx_id = ext.clone_id;
-		gem_context_get_param(i915, &set.param);
-		expected = set.param.value;
-
-		set.param.ctx_id = create.ctx_id;
-		gem_context_get_param(i915, &set.param);
-
-		igt_assert_eq_u64(set.param.param, I915_CONTEXT_PARAM_PRIORITY);
-		igt_assert_eq((int)set.param.value, expected);
-
-		gem_context_destroy(i915, create.ctx_id);
-
-		expected = set.param.value = 1;
-		set.param.ctx_id = ext.clone_id;
-		gem_context_set_param(i915, &set.param);
-
-		igt_assert_eq(ctx_create_ioctl(i915, &create), 0);
-
-		set.param.ctx_id = create.ctx_id;
-		gem_context_get_param(i915, &set.param);
-
-		igt_assert_eq_u64(set.param.param, I915_CONTEXT_PARAM_PRIORITY);
-		igt_assert_eq((int)set.param.value, expected);
-
-		gem_context_destroy(i915, create.ctx_id);
-
-		/* clone but then reset priority to default */
-		set.param.ctx_id = 0;
-		set.param.value = 0;
-		ext.base.next_extension = to_user_pointer(&set);
-		igt_assert_eq(ctx_create_ioctl(i915, &create), 0);
-		ext.base.next_extension = 0;
-
-		set.param.ctx_id = create.ctx_id;
-		gem_context_get_param(i915, &set.param);
-		igt_assert_eq_u64(set.param.value, 0);
-
-		set.param.ctx_id = ext.clone_id;
-		gem_context_get_param(i915, &set.param);
-		igt_assert_eq_u64(set.param.value, 1);
-
-		gem_context_destroy(i915, create.ctx_id);
-		ext.clone_id = gem_context_create(i915);
-	}
-
-	gem_context_destroy(i915, ext.clone_id);
-}
-
-static uint32_t __batch_create(int i915, uint32_t offset)
-{
-	const uint32_t bbe = MI_BATCH_BUFFER_END;
-	uint32_t handle;
-
-	handle = gem_create(i915, ALIGN(offset + 4, 4096));
-	gem_write(i915, handle, offset, &bbe, sizeof(bbe));
-
-	return handle;
-}
-
-static uint32_t batch_create(int i915)
-{
-	return __batch_create(i915, 0);
-}
-
-static void check_same_vm(int i915, uint32_t ctx_a, uint32_t ctx_b)
-{
-	struct drm_i915_gem_exec_object2 batch = {
-		.handle = batch_create(i915),
-	};
-	struct drm_i915_gem_execbuffer2 eb = {
-		.buffers_ptr = to_user_pointer(&batch),
-		.buffer_count = 1,
-	};
-
-	/* First verify that we try to use "softpinning" by default */
-	batch.offset = 48 << 20;
-	eb.rsvd1 = ctx_a;
-	gem_execbuf(i915, &eb);
-	igt_assert_eq_u64(batch.offset, 48 << 20);
-
-	/* An already active VMA will try to keep its offset */
-	batch.offset = 0;
-	eb.rsvd1 = ctx_b;
-	gem_execbuf(i915, &eb);
-	igt_assert_eq_u64(batch.offset, 48 << 20);
-
-	gem_sync(i915, batch.handle);
-	gem_close(i915, batch.handle);
-
-	gem_quiescent_gpu(i915); /* evict the vma */
-}
-
-static void clone_vm(int i915)
-{
-	struct drm_i915_gem_context_param set = {
-		.param = I915_CONTEXT_PARAM_VM,
-	};
-	struct drm_i915_gem_context_create_ext_clone ext = {
-		{ .name = I915_CONTEXT_CREATE_EXT_CLONE },
-		.flags = I915_CONTEXT_CLONE_VM,
-	};
-	struct drm_i915_gem_context_create_ext create = {
-		.flags = I915_CONTEXT_CREATE_FLAGS_USE_EXTENSIONS,
-		.extensions = to_user_pointer(&ext),
-	};
-	uint32_t vm_id[2];
-
-	igt_require(__gem_context_set_param(i915, &set) == -ENOENT);
-
-	/* Scrub the VM for our tests */
-	i915 = gem_reopen_driver(i915);
-
-	set.ctx_id = gem_context_create(i915);
-	gem_context_get_param(i915, &set);
-	vm_id[0] = set.value;
-	gem_context_destroy(i915, set.ctx_id);
-
-	vm_id[1] = gem_vm_create(i915);
-
-	for (int pass = 0; pass < 2; pass++) { /* cloning default, then child */
-		igt_debug("Cloning %d\n", ext.clone_id);
-
-		igt_assert_eq(ctx_create_ioctl(i915, &create), 0);
-		check_same_vm(i915, ext.clone_id, create.ctx_id);
-		gem_context_destroy(i915, create.ctx_id);
-
-		set.value = vm_id[pass];
-		set.ctx_id = ext.clone_id;
-		gem_context_set_param(i915, &set);
-
-		igt_assert_eq(ctx_create_ioctl(i915, &create), 0);
-		check_same_vm(i915, ext.clone_id, create.ctx_id);
-		gem_context_destroy(i915, create.ctx_id);
-
-		ext.clone_id = gem_context_create(i915);
-	}
-
-	gem_context_destroy(i915, ext.clone_id);
-
-	for (int i = 0; i < ARRAY_SIZE(vm_id); i++)
-		gem_vm_destroy(i915, vm_id[i]);
-
-	close(i915);
-}
-
-igt_main
-{
-	int i915 = -1;
-
-	igt_fixture {
-		i915 = drm_open_driver(DRIVER_INTEL);
-		igt_require_gem(i915);
-		gem_require_contexts(i915);
-
-		igt_require(gem_has_context_clone(i915));
-		igt_fork_hang_detector(i915);
-	}
-
-	igt_subtest("invalid")
-		invalid_clone(i915);
-
-	igt_subtest("engines")
-		clone_engines(i915);
-
-	igt_subtest("flags")
-		clone_flags(i915);
-
-	igt_subtest("scheduler")
-		clone_scheduler(i915);
-
-	igt_subtest("vm")
-		clone_vm(i915);
-
-	igt_fixture {
-		igt_stop_hang_detector();
-		close(i915);
-	}
-}
diff --git a/tests/meson.build b/tests/meson.build
index c85768e1..45c07763 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -127,7 +127,6 @@ i915_progs = [
 	'gem_concurrent_blit',
 	'gem_cs_tlb',
 	'gem_ctx_bad_destroy',
-	'gem_ctx_clone',
 	'gem_ctx_create',
 	'gem_ctx_engines',
 	'gem_ctx_exec',
-- 
2.29.2

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [igt-dev] [PATCH i-g-t 6/9] tests/i915/gem_ctx_create: Stop cloning engines
  2021-03-23 17:24 [igt-dev] [PATCH i-g-t 0/9] Adjust IGT for upstream API clean-ups Jason Ekstrand
                   ` (4 preceding siblings ...)
  2021-03-23 17:24 ` [igt-dev] [PATCH i-g-t 5/9] tests/i915: Drop gem_ctx_clone Jason Ekstrand
@ 2021-03-23 17:24 ` Jason Ekstrand
  2021-03-23 17:24 ` [igt-dev] [PATCH i-g-t 7/9] tests/i915/gem_ctx_persistence: Drop the clone test Jason Ekstrand
                   ` (4 subsequent siblings)
  10 siblings, 0 replies; 14+ messages in thread
From: Jason Ekstrand @ 2021-03-23 17:24 UTC (permalink / raw)
  To: igt-dev

There's no reason to clone engines here, especially when context 0 is
just a default context so creating a new context will have the same
engines as context 0.

Signed-off-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 tests/i915/gem_ctx_create.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/tests/i915/gem_ctx_create.c b/tests/i915/gem_ctx_create.c
index 9a512a03..7d2ee8fb 100644
--- a/tests/i915/gem_ctx_create.c
+++ b/tests/i915/gem_ctx_create.c
@@ -299,9 +299,7 @@ static void maximum(int fd, int ncpus, unsigned mode)
 
 		err = -ENOMEM;
 		if (avail_mem > (count + 1) * ctx_size)
-			err =  __gem_context_clone(fd, 0,
-						   I915_CONTEXT_CLONE_ENGINES,
-						   0, &ctx_id);
+			err =  __gem_context_create(fd, &ctx_id);
 		if (err) {
 			igt_info("Created %lu contexts, before failing with '%s' [%d]\n",
 				 count, strerror(-err), -err);
-- 
2.29.2

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [igt-dev] [PATCH i-g-t 7/9] tests/i915/gem_ctx_persistence: Drop the clone test
  2021-03-23 17:24 [igt-dev] [PATCH i-g-t 0/9] Adjust IGT for upstream API clean-ups Jason Ekstrand
                   ` (5 preceding siblings ...)
  2021-03-23 17:24 ` [igt-dev] [PATCH i-g-t 6/9] tests/i915/gem_ctx_create: Stop cloning engines Jason Ekstrand
@ 2021-03-23 17:24 ` Jason Ekstrand
  2021-03-23 17:24 ` [igt-dev] [PATCH i-g-t 8/9] tests/i915/gem_exec_balancer: Stop cloning engines Jason Ekstrand
                   ` (3 subsequent siblings)
  10 siblings, 0 replies; 14+ messages in thread
From: Jason Ekstrand @ 2021-03-23 17:24 UTC (permalink / raw)
  To: igt-dev

We're going to be deleting the CONTEXT_CLONE API since IGT is the only
userspace to ever use it.  Drop the tests for it.

Signed-off-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 tests/i915/gem_ctx_persistence.c | 30 ------------------------------
 1 file changed, 30 deletions(-)

diff --git a/tests/i915/gem_ctx_persistence.c b/tests/i915/gem_ctx_persistence.c
index 10d057f1..91c30176 100644
--- a/tests/i915/gem_ctx_persistence.c
+++ b/tests/i915/gem_ctx_persistence.c
@@ -147,33 +147,6 @@ static void test_idempotent(int i915)
 	igt_assert_eq(p.value, expected);
 }
 
-static void test_clone(int i915)
-{
-	struct drm_i915_gem_context_param p = {
-		.param = I915_CONTEXT_PARAM_PERSISTENCE,
-	};
-	uint32_t ctx, clone;
-
-	/*
-	 * Check that persistence is inherited across a clone.
-	 */
-	igt_require( __gem_context_create(i915, &ctx) == 0);
-
-	p.ctx_id = ctx;
-	p.value = 0;
-	gem_context_set_param(i915, &p);
-
-	clone = gem_context_clone(i915, ctx, I915_CONTEXT_CLONE_FLAGS, 0);
-	gem_context_destroy(i915, ctx);
-
-	p.ctx_id = clone;
-	p.value = -1;
-	gem_context_get_param(i915, &p);
-	igt_assert_eq(p.value, 0);
-
-	gem_context_destroy(i915, clone);
-}
-
 static void test_persistence(int i915, unsigned int engine)
 {
 	igt_spin_t *spin;
@@ -1366,9 +1339,6 @@ igt_main
 	igt_subtest("idempotent")
 		test_idempotent(i915);
 
-	igt_subtest("clone")
-		test_clone(i915);
-
 	igt_subtest("file")
 		test_nonpersistent_file(i915);
 
-- 
2.29.2

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [igt-dev] [PATCH i-g-t 8/9] tests/i915/gem_exec_balancer: Stop cloning engines
  2021-03-23 17:24 [igt-dev] [PATCH i-g-t 0/9] Adjust IGT for upstream API clean-ups Jason Ekstrand
                   ` (6 preceding siblings ...)
  2021-03-23 17:24 ` [igt-dev] [PATCH i-g-t 7/9] tests/i915/gem_ctx_persistence: Drop the clone test Jason Ekstrand
@ 2021-03-23 17:24 ` Jason Ekstrand
  2021-03-23 17:24 ` [igt-dev] [PATCH i-g-t 9/9] lib/i915/gem_context: Implement VM and engine cloning manually (v3) Jason Ekstrand
                   ` (2 subsequent siblings)
  10 siblings, 0 replies; 14+ messages in thread
From: Jason Ekstrand @ 2021-03-23 17:24 UTC (permalink / raw)
  To: igt-dev

We've got the parameters to setup the balancer right there; we may as
well use them directly.

Signed-off-by: Jason Ekstrand <jason@jlekstrand.net>
---
 tests/i915/gem_exec_balancer.c | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/tests/i915/gem_exec_balancer.c b/tests/i915/gem_exec_balancer.c
index bfd65b29..19948ecb 100644
--- a/tests/i915/gem_exec_balancer.c
+++ b/tests/i915/gem_exec_balancer.c
@@ -826,8 +826,8 @@ static void bonded_slice(int i915)
 		igt_fork(child, count + 1) { /* C: arbitrary background load */
 			igt_list_del(&spin->link);
 
-			ctx = gem_context_clone(i915, ctx,
-						I915_CONTEXT_CLONE_ENGINES, 0);
+			ctx = gem_context_create(i915);
+			set_load_balancer(i915, ctx, siblings, count, NULL);
 
 			while (!READ_ONCE(*stop)) {
 				spin = igt_spin_new(i915,
@@ -2442,8 +2442,7 @@ static void nop(int i915)
 				.buffers_ptr = to_user_pointer(&batch),
 				.buffer_count = 1,
 				.flags = child + 1,
-				.rsvd1 = gem_context_clone(i915, ctx,
-							   I915_CONTEXT_CLONE_ENGINES, 0),
+				.rsvd1 = load_balancer_create(i915, ci, count),
 			};
 			struct timespec tv = {};
 			unsigned long nops;
-- 
2.29.2

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [igt-dev] [PATCH i-g-t 9/9] lib/i915/gem_context: Implement VM and engine cloning manually (v3)
  2021-03-23 17:24 [igt-dev] [PATCH i-g-t 0/9] Adjust IGT for upstream API clean-ups Jason Ekstrand
                   ` (7 preceding siblings ...)
  2021-03-23 17:24 ` [igt-dev] [PATCH i-g-t 8/9] tests/i915/gem_exec_balancer: Stop cloning engines Jason Ekstrand
@ 2021-03-23 17:24 ` Jason Ekstrand
  2021-03-23 18:35 ` [igt-dev] ✓ Fi.CI.BAT: success for Adjust IGT for upstream API clean-ups (rev3) Patchwork
  2021-03-24 10:33 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
  10 siblings, 0 replies; 14+ messages in thread
From: Jason Ekstrand @ 2021-03-23 17:24 UTC (permalink / raw)
  To: igt-dev

We're going to be deleting the CONTEXT_CLONE API since IGT is the only
userspace to ever use it.  There are only two bits of this API that IGT
uses in interesting ways so implement them as create params instead of
cloning.

v2 (Jason Ekstrand):
 - Fix our usage of the param struct for VM cloning
 - Handle the case of zero user engines properly
 - Assert that all cloned engines are physical, not virtual

v3 (Jason Ekstrand):
 - Drop gem_has_context_clone()
 - Add docs for [__]gem_context_clone()

Signed-off-by: Jason Ekstrand <jason@jlekstrand.net>
---
 lib/i915/gem_context.c         | 157 +++++++++++++++++++++++++--------
 lib/i915/gem_context.h         |   9 +-
 tests/i915/gem_ctx_shared.c    |  10 +--
 tests/i915/gem_exec_balancer.c |   2 +-
 tests/i915/gem_exec_schedule.c |   8 +-
 5 files changed, 133 insertions(+), 53 deletions(-)

diff --git a/lib/i915/gem_context.c b/lib/i915/gem_context.c
index 79411e10..d0eb3159 100644
--- a/lib/i915/gem_context.c
+++ b/lib/i915/gem_context.c
@@ -334,28 +334,110 @@ bool gem_context_has_persistence(int i915)
 	return __gem_context_get_param(i915, &param) == 0;
 }
 
+static void
+add_ctx_create_ext(struct drm_i915_gem_context_create_ext *ctx,
+		   struct i915_user_extension *ext)
+{
+	ext->next_extension = ctx->extensions;
+	ctx->extensions = to_user_pointer(ext);
+}
+
+/**
+ * __gem_context_clone:
+ * @i915: open i915 drm file descriptor
+ * @src: i915 context id from which to clone parameters
+ * @clone: bitfield of parameters to clone
+ * @flags: context creation flags
+ * @out: resulting context
+ *
+ * Special purpose wrapper to create a new context by cloning params from @src.
+ *
+ * Currently, we support cloning the VM and the engine set.  Engine set
+ * cloning is only supported if they're all "real" engines.  Virtual bonded
+ * or balanced are not supported.
+ */
 int
 __gem_context_clone(int i915,
-		    uint32_t src, unsigned int share,
+		    uint32_t src, unsigned int clone,
 		    unsigned int flags,
 		    uint32_t *out)
 {
-	struct drm_i915_gem_context_create_ext_clone clone = {
-		{ .name = I915_CONTEXT_CREATE_EXT_CLONE },
-		.clone_id = src,
-		.flags = share,
-	};
-	struct drm_i915_gem_context_create_ext arg = {
+	I915_DEFINE_CONTEXT_PARAM_ENGINES(engines, I915_EXEC_RING_MASK + 1);
+	struct drm_i915_gem_context_create_ext_setparam engines_param, vm_param;
+	unsigned i, count;
+	int err;
+
+	struct drm_i915_gem_context_create_ext ctx_create = {
 		.flags = flags | I915_CONTEXT_CREATE_FLAGS_USE_EXTENSIONS,
-		.extensions = to_user_pointer(&clone),
+		.extensions = 0,
 	};
-	int err;
 
-	err = create_ext_ioctl(i915, &arg);
+	if (clone & GEM_CONTEXT_CLONE_ENGINES) {
+		engines_param = (struct drm_i915_gem_context_create_ext_setparam) {
+			.base = {
+				.name = I915_CONTEXT_CREATE_EXT_SETPARAM,
+			},
+			.param = {
+				.param = I915_CONTEXT_PARAM_ENGINES,
+				.size = sizeof(engines),
+				.value = to_user_pointer(&engines),
+			},
+		};
+
+		engines_param.param.ctx_id = src;
+		err = __gem_context_get_param(i915, &engines_param.param);
+		igt_assert_eq(err, 0);
+		if (err)
+			return err;
+
+		if (engines_param.param.size > 0) {
+			igt_assert(engines_param.param.size > sizeof(uint64_t));
+			count = (engines_param.param.size - sizeof(uint64_t)) /
+				sizeof(struct i915_engine_class_instance);
+
+			igt_debug("Cloning context with %u engines:\n", count);
+			for (i = 0; i < count; i++) {
+				igt_debug("    %d, %d\n",
+					  (int)(int16_t)engines.engines[i].engine_class,
+					  (int)(int16_t)engines.engines[i].engine_instance);
+				/* We can't clone virtual engines */
+				igt_assert((int16_t)engines.engines[i].engine_class >= 0);
+				igt_assert((int16_t)engines.engines[i].engine_instance >= 0);
+			}
+
+			engines_param.param.ctx_id = 0;
+			add_ctx_create_ext(&ctx_create, &engines_param.base);
+		}
+	}
+
+	if (clone & GEM_CONTEXT_CLONE_VM) {
+		vm_param = (struct drm_i915_gem_context_create_ext_setparam) {
+			.base = {
+				.name = I915_CONTEXT_CREATE_EXT_SETPARAM,
+			},
+			.param = {
+				.param = I915_CONTEXT_PARAM_VM,
+			},
+		};
+
+		vm_param.param.ctx_id = src;
+		err = __gem_context_get_param(i915, &vm_param.param);
+		igt_assert_eq(err, 0);
+		if (err)
+			return err;
+
+		igt_debug("vm: %d\n", (int)vm_param.param.value);
+
+		vm_param.param.ctx_id = 0;
+		add_ctx_create_ext(&ctx_create, &vm_param.base);
+	}
+
+	err = create_ext_ioctl(i915, &ctx_create);
+	igt_assert_eq(err, 0);
 	if (err)
 		return err;
 
-	*out = arg.ctx_id;
+	*out = ctx_create.ctx_id;
 	return 0;
 }
 
@@ -373,41 +455,35 @@ static bool __gem_context_has(int i915, uint32_t share, unsigned int flags)
 
 bool gem_contexts_has_shared_gtt(int i915)
 {
-	return __gem_context_has(i915, I915_CONTEXT_CLONE_VM, 0);
+	return __gem_context_has(i915, GEM_CONTEXT_CLONE_VM, 0);
 }
 
 bool gem_has_queues(int i915)
 {
-	return __gem_context_has(i915,
-				 I915_CONTEXT_CLONE_VM,
+	return __gem_context_has(i915, GEM_CONTEXT_CLONE_VM,
 				 I915_CONTEXT_CREATE_FLAGS_SINGLE_TIMELINE);
 }
 
+/**
+ * gem_context_clone: Create a new context, cloning some params from another
+ * @i915: open i915 drm file descriptor
+ * @src: i915 context id from which to clone parameters
+ * @clone: bitfield of parameters to clone
+ * @flags: context creation flags
+ *
+ * Like __gem_context_clone, only asserts on failure.
+ */
 uint32_t gem_context_clone(int i915,
-			   uint32_t src, unsigned int share,
+			   uint32_t src, unsigned int clone,
 			   unsigned int flags)
 {
 	uint32_t ctx;
 
-	igt_assert_eq(__gem_context_clone(i915, src, share, flags, &ctx), 0);
+	igt_assert_eq(__gem_context_clone(i915, src, clone, flags, &ctx), 0);
 
 	return ctx;
 }
 
-bool gem_has_context_clone(int i915)
-{
-	struct drm_i915_gem_context_create_ext_clone ext = {
-		{ .name = I915_CONTEXT_CREATE_EXT_CLONE },
-		.clone_id = -1,
-	};
-	struct drm_i915_gem_context_create_ext create = {
-		.flags = I915_CONTEXT_CREATE_FLAGS_USE_EXTENSIONS,
-		.extensions = to_user_pointer(&ext),
-	};
-
-	return create_ext_ioctl(i915, &create) == -ENOENT;
-}
-
 /**
  * gem_context_clone_with_engines:
  * @i915: open i915 drm file descriptor
@@ -423,18 +499,21 @@ bool gem_has_context_clone(int i915)
  */
 uint32_t gem_context_clone_with_engines(int i915, uint32_t src)
 {
-	if (!gem_has_context_clone(i915))
-		return gem_context_create(i915);
-	else
-		return gem_context_clone(i915, src, I915_CONTEXT_CLONE_ENGINES,
-					 0);
+	uint32_t ctx;
+	int ret;
+
+	ret = __gem_context_clone(i915, src, GEM_CONTEXT_CLONE_ENGINES, 0, &ctx);
+	if (!ret)
+		return ctx;
+
+	return gem_context_create(i915);
 }
 
 uint32_t gem_queue_create(int i915)
 {
 	return gem_context_clone(i915, 0,
-				 I915_CONTEXT_CLONE_VM |
-				 I915_CONTEXT_CLONE_ENGINES,
+				 GEM_CONTEXT_CLONE_VM |
+				 GEM_CONTEXT_CLONE_ENGINES,
 				 I915_CONTEXT_CREATE_FLAGS_SINGLE_TIMELINE);
 }
 
@@ -448,8 +527,8 @@ uint32_t gem_queue_create(int i915)
 uint32_t gem_queue_clone_with_engines(int i915, uint32_t src)
 {
 	return gem_context_clone(i915, src,
-				 I915_CONTEXT_CLONE_ENGINES |
-				 I915_CONTEXT_CLONE_VM,
+				 GEM_CONTEXT_CLONE_ENGINES |
+				 GEM_CONTEXT_CLONE_VM,
 				 I915_CONTEXT_CREATE_FLAGS_SINGLE_TIMELINE);
 }
 
diff --git a/lib/i915/gem_context.h b/lib/i915/gem_context.h
index c2c2b827..a82f0325 100644
--- a/lib/i915/gem_context.h
+++ b/lib/i915/gem_context.h
@@ -37,12 +37,15 @@ int __gem_context_destroy(int fd, uint32_t ctx_id);
 uint32_t gem_context_create_for_engine(int fd, unsigned int class, unsigned int inst);
 uint32_t gem_context_create_for_class(int i915, unsigned int class, unsigned int *count);
 
+#define GEM_CONTEXT_CLONE_ENGINES (1 << 4)
+#define GEM_CONTEXT_CLONE_VM (1 << 5)
+
 int __gem_context_clone(int i915,
-			uint32_t src, unsigned int share,
+			uint32_t src, unsigned int clone,
 			unsigned int flags,
 			uint32_t *out);
 uint32_t gem_context_clone(int i915,
-			   uint32_t src, unsigned int share,
+			   uint32_t src, unsigned int clone,
 			   unsigned int flags);
 uint32_t gem_context_clone_with_engines(int i915, uint32_t src);
 void gem_context_copy_engines(int src_fd, uint32_t src,
@@ -59,8 +62,6 @@ void gem_require_contexts(int fd);
 void gem_context_require_bannable(int fd);
 void gem_context_require_param(int fd, uint64_t param);
 
-bool gem_has_context_clone(int i915);
-
 void gem_context_get_param(int fd, struct drm_i915_gem_context_param *p);
 void gem_context_set_param(int fd, struct drm_i915_gem_context_param *p);
 int __gem_context_set_param(int fd, struct drm_i915_gem_context_param *p);
diff --git a/tests/i915/gem_ctx_shared.c b/tests/i915/gem_ctx_shared.c
index 6b21994d..21b07083 100644
--- a/tests/i915/gem_ctx_shared.c
+++ b/tests/i915/gem_ctx_shared.c
@@ -82,7 +82,7 @@ static void create_shared_gtt(int i915, unsigned int flags)
 	igt_until_timeout(2) {
 		parent = flags & DETACHED ? child : 0;
 		child = gem_context_clone(i915,
-					  parent, I915_CONTEXT_CLONE_VM,
+					  parent, GEM_CONTEXT_CLONE_VM,
 					  0);
 		execbuf.rsvd1 = child;
 		gem_execbuf(i915, &execbuf);
@@ -98,7 +98,7 @@ static void create_shared_gtt(int i915, unsigned int flags)
 		execbuf.rsvd1 = parent;
 		igt_assert_eq(__gem_execbuf(i915, &execbuf), -ENOENT);
 		igt_assert_eq(__gem_context_clone(i915,
-						  parent, I915_CONTEXT_CLONE_VM,
+						  parent, GEM_CONTEXT_CLONE_VM,
 						  0, &parent), -ENOENT);
 	}
 	if (flags & DETACHED)
@@ -121,7 +121,7 @@ static void disjoint_timelines(int i915)
 	 * distinct timelines. A request queued to one context should be
 	 * independent of any shared contexts.
 	 */
-	child = gem_context_clone(i915, 0, I915_CONTEXT_CLONE_VM, 0);
+	child = gem_context_clone(i915, 0, GEM_CONTEXT_CLONE_VM, 0);
 	plug = igt_cork_plug(&cork, i915);
 
 	spin[0] = __igt_spin_new(i915, .ctx = 0, .dependency = plug);
@@ -161,7 +161,7 @@ static void exhaust_shared_gtt(int i915, unsigned int flags)
 		for (;;) {
 			parent = child;
 			err = __gem_context_clone(i915,
-						  parent, I915_CONTEXT_CLONE_VM,
+						  parent, GEM_CONTEXT_CLONE_VM,
 						  0, &child);
 			if (err)
 				break;
@@ -201,7 +201,7 @@ static void exec_shared_gtt(int i915, unsigned int ring)
 	int timeline;
 	int i;
 
-	clone = gem_context_clone(i915, 0, I915_CONTEXT_CLONE_VM, 0);
+	clone = gem_context_clone(i915, 0, GEM_CONTEXT_CLONE_VM, 0);
 
 	/* Find a hole big enough for both objects later */
 	scratch = gem_create(i915, 16384);
diff --git a/tests/i915/gem_exec_balancer.c b/tests/i915/gem_exec_balancer.c
index 19948ecb..5c0f52a6 100644
--- a/tests/i915/gem_exec_balancer.c
+++ b/tests/i915/gem_exec_balancer.c
@@ -627,7 +627,7 @@ static void bonded(int i915, unsigned int flags)
 		}
 
 		ctx = gem_context_clone(i915,
-					master, I915_CONTEXT_CLONE_VM,
+					master, GEM_CONTEXT_CLONE_VM,
 					I915_CONTEXT_CREATE_FLAGS_SINGLE_TIMELINE);
 		set_load_balancer(i915, ctx, siblings, count, &bonds[limit - 1]);
 
diff --git a/tests/i915/gem_exec_schedule.c b/tests/i915/gem_exec_schedule.c
index 9585059d..aedcdf33 100644
--- a/tests/i915/gem_exec_schedule.c
+++ b/tests/i915/gem_exec_schedule.c
@@ -1183,8 +1183,8 @@ noreorder(int i915, unsigned int engine, int prio, unsigned int flags)
 		fence = igt_cork_plug(&cork, i915);
 
 	ctx = gem_context_clone(i915, execbuf.rsvd1,
-			      I915_CONTEXT_CLONE_ENGINES |
-			      I915_CONTEXT_CLONE_VM,
+			      GEM_CONTEXT_CLONE_ENGINES |
+			      GEM_CONTEXT_CLONE_VM,
 			      0);
 	spin = igt_spin_new(i915, ctx,
 			    .engine = engine,
@@ -2428,9 +2428,9 @@ static void *iova_thread(struct ufd_thread *t, int prio)
 	unsigned int clone;
 	uint32_t ctx;
 
-	clone = I915_CONTEXT_CLONE_ENGINES;
+	clone = GEM_CONTEXT_CLONE_ENGINES;
 	if (t->flags & SHARED)
-		clone |= I915_CONTEXT_CLONE_VM;
+		clone |= GEM_CONTEXT_CLONE_VM;
 
 	ctx = gem_context_clone(t->i915, 0, clone, 0);
 	gem_context_set_priority(t->i915, ctx, prio);
-- 
2.29.2

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [igt-dev] ✓ Fi.CI.BAT: success for Adjust IGT for upstream API clean-ups (rev3)
  2021-03-23 17:24 [igt-dev] [PATCH i-g-t 0/9] Adjust IGT for upstream API clean-ups Jason Ekstrand
                   ` (8 preceding siblings ...)
  2021-03-23 17:24 ` [igt-dev] [PATCH i-g-t 9/9] lib/i915/gem_context: Implement VM and engine cloning manually (v3) Jason Ekstrand
@ 2021-03-23 18:35 ` Patchwork
  2021-03-24 10:33 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
  10 siblings, 0 replies; 14+ messages in thread
From: Patchwork @ 2021-03-23 18:35 UTC (permalink / raw)
  To: Jason Ekstrand; +Cc: igt-dev


[-- Attachment #1.1: Type: text/plain, Size: 5758 bytes --]

== Series Details ==

Series: Adjust IGT for upstream API clean-ups (rev3)
URL   : https://patchwork.freedesktop.org/series/88194/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_9885 -> IGTPW_5646
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

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

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

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

### IGT changes ###

#### Issues hit ####

  * igt@amdgpu/amd_prime@amd-to-i915:
    - fi-kbl-8809g:       NOTRUN -> [DMESG-WARN][1] ([i915#2947])
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/fi-kbl-8809g/igt@amdgpu/amd_prime@amd-to-i915.html

  * igt@gem_ringfill@basic-all:
    - fi-tgl-y:           [PASS][2] -> [DMESG-WARN][3] ([i915#402]) +1 similar issue
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9885/fi-tgl-y/igt@gem_ringfill@basic-all.html
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/fi-tgl-y/igt@gem_ringfill@basic-all.html

  * igt@gem_tiled_blits@basic:
    - fi-kbl-8809g:       [PASS][4] -> [TIMEOUT][5] ([i915#2502] / [i915#3145])
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9885/fi-kbl-8809g/igt@gem_tiled_blits@basic.html
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/fi-kbl-8809g/igt@gem_tiled_blits@basic.html

  * igt@i915_pm_rpm@module-reload:
    - fi-kbl-soraka:      [PASS][6] -> [DMESG-WARN][7] ([i915#1982])
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9885/fi-kbl-soraka/igt@i915_pm_rpm@module-reload.html
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/fi-kbl-soraka/igt@i915_pm_rpm@module-reload.html

  * igt@kms_chamelium@dp-crc-fast:
    - fi-kbl-7500u:       [PASS][8] -> [FAIL][9] ([i915#1372])
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9885/fi-kbl-7500u/igt@kms_chamelium@dp-crc-fast.html
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/fi-kbl-7500u/igt@kms_chamelium@dp-crc-fast.html

  * igt@runner@aborted:
    - fi-kbl-8809g:       NOTRUN -> [FAIL][10] ([i915#2947])
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/fi-kbl-8809g/igt@runner@aborted.html

  
#### Possible fixes ####

  * igt@gem_exec_gttfill@basic:
    - fi-kbl-8809g:       [TIMEOUT][11] ([i915#3145]) -> [PASS][12] +1 similar issue
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9885/fi-kbl-8809g/igt@gem_exec_gttfill@basic.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/fi-kbl-8809g/igt@gem_exec_gttfill@basic.html

  * igt@gem_exec_suspend@basic-s3:
    - fi-tgl-y:           [DMESG-WARN][13] ([i915#2411] / [i915#402]) -> [PASS][14]
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9885/fi-tgl-y/igt@gem_exec_suspend@basic-s3.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/fi-tgl-y/igt@gem_exec_suspend@basic-s3.html

  * igt@gem_flink_basic@bad-flink:
    - fi-tgl-y:           [DMESG-WARN][15] ([i915#402]) -> [PASS][16]
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9885/fi-tgl-y/igt@gem_flink_basic@bad-flink.html
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/fi-tgl-y/igt@gem_flink_basic@bad-flink.html

  * igt@i915_selftest@live@client:
    - fi-glk-dsi:         [DMESG-FAIL][17] ([i915#3047]) -> [PASS][18]
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9885/fi-glk-dsi/igt@i915_selftest@live@client.html
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/fi-glk-dsi/igt@i915_selftest@live@client.html

  * igt@kms_chamelium@common-hpd-after-suspend:
    - fi-kbl-7500u:       [DMESG-FAIL][19] ([i915#165]) -> [PASS][20]
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9885/fi-kbl-7500u/igt@kms_chamelium@common-hpd-after-suspend.html
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/fi-kbl-7500u/igt@kms_chamelium@common-hpd-after-suspend.html

  
  [i915#1372]: https://gitlab.freedesktop.org/drm/intel/issues/1372
  [i915#165]: https://gitlab.freedesktop.org/drm/intel/issues/165
  [i915#1982]: https://gitlab.freedesktop.org/drm/intel/issues/1982
  [i915#2411]: https://gitlab.freedesktop.org/drm/intel/issues/2411
  [i915#2502]: https://gitlab.freedesktop.org/drm/intel/issues/2502
  [i915#2947]: https://gitlab.freedesktop.org/drm/intel/issues/2947
  [i915#3047]: https://gitlab.freedesktop.org/drm/intel/issues/3047
  [i915#3145]: https://gitlab.freedesktop.org/drm/intel/issues/3145
  [i915#402]: https://gitlab.freedesktop.org/drm/intel/issues/402


Participating hosts (48 -> 42)
------------------------------

  Missing    (6): fi-ilk-m540 fi-hsw-4200u fi-bsw-cyan fi-ctg-p8600 fi-dg1-1 fi-bdw-samus 


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

  * CI: CI-20190529 -> None
  * IGT: IGT_6042 -> IGTPW_5646

  CI-20190529: 20190529
  CI_DRM_9885: 370158d493f88d52f5aae76794228f47dd04cfe3 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_5646: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/index.html
  IGT_6042: 529e182e30117d083ac0693011f1af04357d0115 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools



== Testlist changes ==

-igt@gem_ctx_clone@engines
-igt@gem_ctx_clone@flags
-igt@gem_ctx_clone@invalid
-igt@gem_ctx_clone@scheduler
-igt@gem_ctx_clone@vm
-igt@gem_ctx_param@non-root-set-no-zeromap
-igt@gem_ctx_param@root-set-no-zeromap-disabled
-igt@gem_ctx_param@root-set-no-zeromap-enabled
-igt@gem_ctx_persistence@clone
-igt@gem_ctx_ringsize@active
-igt@gem_ctx_ringsize@clone
-igt@gem_ctx_ringsize@create
-igt@gem_ctx_ringsize@idempotent
-igt@gem_ctx_ringsize@idle
-igt@gem_ctx_ringsize@invalid
-igt@gem_ctx_ringsize@plugged
-igt@gem_exec_balancer@ringsize

== Logs ==

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

[-- Attachment #1.2: Type: text/html, Size: 6995 bytes --]

[-- Attachment #2: Type: text/plain, Size: 154 bytes --]

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [igt-dev] ✗ Fi.CI.IGT: failure for Adjust IGT for upstream API clean-ups (rev3)
  2021-03-23 17:24 [igt-dev] [PATCH i-g-t 0/9] Adjust IGT for upstream API clean-ups Jason Ekstrand
                   ` (9 preceding siblings ...)
  2021-03-23 18:35 ` [igt-dev] ✓ Fi.CI.BAT: success for Adjust IGT for upstream API clean-ups (rev3) Patchwork
@ 2021-03-24 10:33 ` Patchwork
  10 siblings, 0 replies; 14+ messages in thread
From: Patchwork @ 2021-03-24 10:33 UTC (permalink / raw)
  To: Jason Ekstrand; +Cc: igt-dev


[-- Attachment #1.1: Type: text/plain, Size: 30262 bytes --]

== Series Details ==

Series: Adjust IGT for upstream API clean-ups (rev3)
URL   : https://patchwork.freedesktop.org/series/88194/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_9885_full -> IGTPW_5646_full
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with IGTPW_5646_full absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in IGTPW_5646_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_5646/index.html

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

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

### IGT changes ###

#### Possible regressions ####

  * igt@gem_ctx_shared@create-shared-gtt:
    - shard-snb:          [PASS][1] -> [FAIL][2]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9885/shard-snb2/igt@gem_ctx_shared@create-shared-gtt.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-snb2/igt@gem_ctx_shared@create-shared-gtt.html
    - shard-apl:          NOTRUN -> [FAIL][3]
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-apl2/igt@gem_ctx_shared@create-shared-gtt.html
    - shard-iclb:         [PASS][4] -> [FAIL][5] +1 similar issue
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9885/shard-iclb5/igt@gem_ctx_shared@create-shared-gtt.html
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-iclb8/igt@gem_ctx_shared@create-shared-gtt.html

  * igt@gem_ctx_shared@detached-shared-gtt:
    - shard-tglb:         [PASS][6] -> [FAIL][7] +2 similar issues
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9885/shard-tglb2/igt@gem_ctx_shared@detached-shared-gtt.html
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-tglb1/igt@gem_ctx_shared@detached-shared-gtt.html
    - shard-kbl:          [PASS][8] -> [FAIL][9] +2 similar issues
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9885/shard-kbl1/igt@gem_ctx_shared@detached-shared-gtt.html
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-kbl7/igt@gem_ctx_shared@detached-shared-gtt.html
    - shard-apl:          [PASS][10] -> [FAIL][11]
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9885/shard-apl8/igt@gem_ctx_shared@detached-shared-gtt.html
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-apl6/igt@gem_ctx_shared@detached-shared-gtt.html
    - shard-glk:          [PASS][12] -> [FAIL][13] +1 similar issue
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9885/shard-glk1/igt@gem_ctx_shared@detached-shared-gtt.html
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-glk8/igt@gem_ctx_shared@detached-shared-gtt.html

  * igt@gem_exec_whisper@basic-queues:
    - shard-snb:          NOTRUN -> [FAIL][14] +2 similar issues
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-snb5/igt@gem_exec_whisper@basic-queues.html

  
#### Warnings ####

  * igt@gem_ctx_shared@q-independent:
    - shard-snb:          [SKIP][15] ([fdo#109271]) -> [FAIL][16] +3 similar issues
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9885/shard-snb2/igt@gem_ctx_shared@q-independent.html
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-snb5/igt@gem_ctx_shared@q-independent.html

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

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

### IGT changes ###

#### Issues hit ####

  * igt@api_intel_bb@render-ccs:
    - shard-kbl:          [PASS][17] -> [INCOMPLETE][18] ([i915#2405])
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9885/shard-kbl3/igt@api_intel_bb@render-ccs.html
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-kbl2/igt@api_intel_bb@render-ccs.html

  * igt@feature_discovery@display-3x:
    - shard-glk:          NOTRUN -> [SKIP][19] ([fdo#109271]) +45 similar issues
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-glk6/igt@feature_discovery@display-3x.html
    - shard-iclb:         NOTRUN -> [SKIP][20] ([i915#1839]) +1 similar issue
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-iclb1/igt@feature_discovery@display-3x.html

  * igt@gem_ctx_isolation@preservation-s3@bcs0:
    - shard-apl:          [PASS][21] -> [DMESG-WARN][22] ([i915#180]) +1 similar issue
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9885/shard-apl6/igt@gem_ctx_isolation@preservation-s3@bcs0.html
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-apl6/igt@gem_ctx_isolation@preservation-s3@bcs0.html

  * igt@gem_ctx_persistence@legacy-engines-mixed:
    - shard-snb:          NOTRUN -> [SKIP][23] ([fdo#109271] / [i915#1099]) +7 similar issues
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-snb7/igt@gem_ctx_persistence@legacy-engines-mixed.html

  * igt@gem_eio@unwedge-stress:
    - shard-tglb:         [PASS][24] -> [TIMEOUT][25] ([i915#2369] / [i915#3063])
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9885/shard-tglb8/igt@gem_eio@unwedge-stress.html
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-tglb8/igt@gem_eio@unwedge-stress.html

  * igt@gem_exec_fair@basic-deadline:
    - shard-apl:          NOTRUN -> [FAIL][26] ([i915#2846])
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-apl7/igt@gem_exec_fair@basic-deadline.html

  * igt@gem_exec_fair@basic-none-solo@rcs0:
    - shard-kbl:          NOTRUN -> [FAIL][27] ([i915#2842])
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-kbl4/igt@gem_exec_fair@basic-none-solo@rcs0.html
    - shard-glk:          NOTRUN -> [FAIL][28] ([i915#2842])
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-glk5/igt@gem_exec_fair@basic-none-solo@rcs0.html
    - shard-iclb:         NOTRUN -> [FAIL][29] ([i915#2842])
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-iclb3/igt@gem_exec_fair@basic-none-solo@rcs0.html

  * igt@gem_exec_fair@basic-none@vcs1:
    - shard-kbl:          [PASS][30] -> [FAIL][31] ([i915#2842])
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9885/shard-kbl6/igt@gem_exec_fair@basic-none@vcs1.html
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-kbl2/igt@gem_exec_fair@basic-none@vcs1.html

  * igt@gem_exec_fair@basic-pace-share@rcs0:
    - shard-tglb:         [PASS][32] -> [FAIL][33] ([i915#2842])
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9885/shard-tglb2/igt@gem_exec_fair@basic-pace-share@rcs0.html
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-tglb1/igt@gem_exec_fair@basic-pace-share@rcs0.html
    - shard-glk:          [PASS][34] -> [FAIL][35] ([i915#2842]) +1 similar issue
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9885/shard-glk7/igt@gem_exec_fair@basic-pace-share@rcs0.html
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-glk6/igt@gem_exec_fair@basic-pace-share@rcs0.html

  * igt@gem_exec_fair@basic-throttle@rcs0:
    - shard-tglb:         NOTRUN -> [FAIL][36] ([i915#2842])
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-tglb8/igt@gem_exec_fair@basic-throttle@rcs0.html

  * igt@gem_exec_params@no-blt:
    - shard-tglb:         NOTRUN -> [SKIP][37] ([fdo#109283]) +1 similar issue
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-tglb6/igt@gem_exec_params@no-blt.html

  * igt@gem_exec_reloc@basic-many-active@rcs0:
    - shard-glk:          [PASS][38] -> [FAIL][39] ([i915#2389])
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9885/shard-glk1/igt@gem_exec_reloc@basic-many-active@rcs0.html
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-glk8/igt@gem_exec_reloc@basic-many-active@rcs0.html

  * igt@gem_exec_reloc@basic-wide-active@bcs0:
    - shard-tglb:         NOTRUN -> [FAIL][40] ([i915#2389]) +4 similar issues
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-tglb2/igt@gem_exec_reloc@basic-wide-active@bcs0.html

  * igt@gem_exec_schedule@u-fairslice@vcs0:
    - shard-apl:          NOTRUN -> [DMESG-WARN][41] ([i915#1610])
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-apl7/igt@gem_exec_schedule@u-fairslice@vcs0.html

  * igt@gem_exec_schedule@u-fairslice@vcs1:
    - shard-tglb:         NOTRUN -> [DMESG-WARN][42] ([i915#2803])
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-tglb5/igt@gem_exec_schedule@u-fairslice@vcs1.html

  * igt@gem_huc_copy@huc-copy:
    - shard-apl:          NOTRUN -> [SKIP][43] ([fdo#109271] / [i915#2190])
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-apl1/igt@gem_huc_copy@huc-copy.html

  * igt@gem_mmap_gtt@big-copy:
    - shard-glk:          [PASS][44] -> [FAIL][45] ([i915#307])
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9885/shard-glk5/igt@gem_mmap_gtt@big-copy.html
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-glk2/igt@gem_mmap_gtt@big-copy.html

  * igt@gem_render_copy@y-tiled-mc-ccs-to-yf-tiled-ccs:
    - shard-iclb:         NOTRUN -> [SKIP][46] ([i915#768])
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-iclb7/igt@gem_render_copy@y-tiled-mc-ccs-to-yf-tiled-ccs.html

  * igt@gem_userptr_blits@coherency-sync:
    - shard-tglb:         NOTRUN -> [SKIP][47] ([fdo#110542])
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-tglb3/igt@gem_userptr_blits@coherency-sync.html
    - shard-iclb:         NOTRUN -> [SKIP][48] ([fdo#109290])
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-iclb3/igt@gem_userptr_blits@coherency-sync.html

  * igt@gem_userptr_blits@input-checking:
    - shard-apl:          NOTRUN -> [DMESG-WARN][49] ([i915#3002]) +1 similar issue
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-apl8/igt@gem_userptr_blits@input-checking.html

  * igt@gem_userptr_blits@readonly-mmap-unsync@wb:
    - shard-tglb:         NOTRUN -> [SKIP][50] ([i915#1704]) +3 similar issues
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-tglb6/igt@gem_userptr_blits@readonly-mmap-unsync@wb.html

  * igt@gen3_render_linear_blits:
    - shard-tglb:         NOTRUN -> [SKIP][51] ([fdo#109289]) +3 similar issues
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-tglb8/igt@gen3_render_linear_blits.html
    - shard-iclb:         NOTRUN -> [SKIP][52] ([fdo#109289]) +3 similar issues
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-iclb1/igt@gen3_render_linear_blits.html

  * igt@gen9_exec_parse@bb-chained:
    - shard-iclb:         NOTRUN -> [SKIP][53] ([fdo#112306])
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-iclb4/igt@gen9_exec_parse@bb-chained.html
    - shard-tglb:         NOTRUN -> [SKIP][54] ([fdo#112306])
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-tglb1/igt@gen9_exec_parse@bb-chained.html

  * igt@gen9_exec_parse@shadow-peek:
    - shard-tglb:         NOTRUN -> [SKIP][55] ([i915#2856])
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-tglb3/igt@gen9_exec_parse@shadow-peek.html

  * igt@i915_pm_rc6_residency@media-rc6-accuracy:
    - shard-tglb:         NOTRUN -> [SKIP][56] ([fdo#109289] / [fdo#111719])
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-tglb3/igt@i915_pm_rc6_residency@media-rc6-accuracy.html

  * igt@i915_query@query-topology-known-pci-ids:
    - shard-tglb:         NOTRUN -> [SKIP][57] ([fdo#109303])
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-tglb8/igt@i915_query@query-topology-known-pci-ids.html

  * igt@i915_query@query-topology-unsupported:
    - shard-tglb:         NOTRUN -> [SKIP][58] ([fdo#109302])
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-tglb5/igt@i915_query@query-topology-unsupported.html

  * igt@i915_selftest@live@hangcheck:
    - shard-snb:          [PASS][59] -> [INCOMPLETE][60] ([i915#2782])
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9885/shard-snb2/igt@i915_selftest@live@hangcheck.html
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-snb6/igt@i915_selftest@live@hangcheck.html

  * igt@kms_atomic_transition@plane-all-modeset-transition:
    - shard-iclb:         NOTRUN -> [SKIP][61] ([i915#1769])
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-iclb2/igt@kms_atomic_transition@plane-all-modeset-transition.html

  * igt@kms_atomic_transition@plane-all-modeset-transition-fencing:
    - shard-tglb:         NOTRUN -> [SKIP][62] ([i915#1769]) +1 similar issue
   [62]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-tglb5/igt@kms_atomic_transition@plane-all-modeset-transition-fencing.html

  * igt@kms_atomic_transition@plane-all-transition-nonblocking-fencing@edp-1-pipe-b:
    - shard-iclb:         [PASS][63] -> [FAIL][64] ([i915#3168])
   [63]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9885/shard-iclb8/igt@kms_atomic_transition@plane-all-transition-nonblocking-fencing@edp-1-pipe-b.html
   [64]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-iclb3/igt@kms_atomic_transition@plane-all-transition-nonblocking-fencing@edp-1-pipe-b.html

  * igt@kms_big_fb@x-tiled-32bpp-rotate-270:
    - shard-iclb:         NOTRUN -> [SKIP][65] ([fdo#110725] / [fdo#111614])
   [65]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-iclb7/igt@kms_big_fb@x-tiled-32bpp-rotate-270.html

  * igt@kms_big_fb@x-tiled-64bpp-rotate-270:
    - shard-tglb:         NOTRUN -> [SKIP][66] ([fdo#111614]) +1 similar issue
   [66]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-tglb8/igt@kms_big_fb@x-tiled-64bpp-rotate-270.html

  * igt@kms_big_fb@yf-tiled-64bpp-rotate-270:
    - shard-tglb:         NOTRUN -> [SKIP][67] ([fdo#111615]) +4 similar issues
   [67]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-tglb1/igt@kms_big_fb@yf-tiled-64bpp-rotate-270.html
    - shard-iclb:         NOTRUN -> [SKIP][68] ([fdo#110723])
   [68]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-iclb2/igt@kms_big_fb@yf-tiled-64bpp-rotate-270.html

  * igt@kms_big_joiner@invalid-modeset:
    - shard-apl:          NOTRUN -> [SKIP][69] ([fdo#109271] / [i915#2705])
   [69]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-apl8/igt@kms_big_joiner@invalid-modeset.html

  * igt@kms_chamelium@dp-hpd-storm:
    - shard-iclb:         NOTRUN -> [SKIP][70] ([fdo#109284] / [fdo#111827]) +3 similar issues
   [70]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-iclb8/igt@kms_chamelium@dp-hpd-storm.html

  * igt@kms_chamelium@hdmi-hpd-enable-disable-mode:
    - shard-snb:          NOTRUN -> [SKIP][71] ([fdo#109271] / [fdo#111827]) +20 similar issues
   [71]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-snb5/igt@kms_chamelium@hdmi-hpd-enable-disable-mode.html

  * igt@kms_color@pipe-c-degamma:
    - shard-apl:          [PASS][72] -> [FAIL][73] ([i915#71])
   [72]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9885/shard-apl2/igt@kms_color@pipe-c-degamma.html
   [73]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-apl8/igt@kms_color@pipe-c-degamma.html
    - shard-kbl:          [PASS][74] -> [FAIL][75] ([i915#71])
   [74]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9885/shard-kbl3/igt@kms_color@pipe-c-degamma.html
   [75]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-kbl2/igt@kms_color@pipe-c-degamma.html

  * igt@kms_color@pipe-d-ctm-0-75:
    - shard-iclb:         NOTRUN -> [SKIP][76] ([fdo#109278] / [i915#1149]) +1 similar issue
   [76]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-iclb1/igt@kms_color@pipe-d-ctm-0-75.html

  * igt@kms_color_chamelium@pipe-b-ctm-0-25:
    - shard-kbl:          NOTRUN -> [SKIP][77] ([fdo#109271] / [fdo#111827]) +3 similar issues
   [77]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-kbl2/igt@kms_color_chamelium@pipe-b-ctm-0-25.html

  * igt@kms_color_chamelium@pipe-b-ctm-limited-range:
    - shard-tglb:         NOTRUN -> [SKIP][78] ([fdo#109284] / [fdo#111827]) +6 similar issues
   [78]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-tglb8/igt@kms_color_chamelium@pipe-b-ctm-limited-range.html
    - shard-glk:          NOTRUN -> [SKIP][79] ([fdo#109271] / [fdo#111827]) +3 similar issues
   [79]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-glk7/igt@kms_color_chamelium@pipe-b-ctm-limited-range.html

  * igt@kms_color_chamelium@pipe-invalid-degamma-lut-sizes:
    - shard-apl:          NOTRUN -> [SKIP][80] ([fdo#109271] / [fdo#111827]) +21 similar issues
   [80]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-apl7/igt@kms_color_chamelium@pipe-invalid-degamma-lut-sizes.html

  * igt@kms_content_protection@dp-mst-type-0:
    - shard-tglb:         NOTRUN -> [SKIP][81] ([i915#3116])
   [81]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-tglb3/igt@kms_content_protection@dp-mst-type-0.html

  * igt@kms_cursor_crc@pipe-b-cursor-256x85-random:
    - shard-apl:          [PASS][82] -> [FAIL][83] ([i915#54])
   [82]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9885/shard-apl2/igt@kms_cursor_crc@pipe-b-cursor-256x85-random.html
   [83]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-apl2/igt@kms_cursor_crc@pipe-b-cursor-256x85-random.html
    - shard-kbl:          [PASS][84] -> [FAIL][85] ([i915#54])
   [84]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9885/shard-kbl3/igt@kms_cursor_crc@pipe-b-cursor-256x85-random.html
   [85]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-kbl3/igt@kms_cursor_crc@pipe-b-cursor-256x85-random.html

  * igt@kms_cursor_crc@pipe-b-cursor-512x512-rapid-movement:
    - shard-iclb:         NOTRUN -> [SKIP][86] ([fdo#109278] / [fdo#109279])
   [86]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-iclb5/igt@kms_cursor_crc@pipe-b-cursor-512x512-rapid-movement.html

  * igt@kms_cursor_crc@pipe-d-cursor-512x512-onscreen:
    - shard-tglb:         NOTRUN -> [SKIP][87] ([fdo#109279]) +1 similar issue
   [87]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-tglb3/igt@kms_cursor_crc@pipe-d-cursor-512x512-onscreen.html

  * igt@kms_cursor_edge_walk@pipe-d-128x128-right-edge:
    - shard-snb:          NOTRUN -> [SKIP][88] ([fdo#109271]) +338 similar issues
   [88]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-snb7/igt@kms_cursor_edge_walk@pipe-d-128x128-right-edge.html

  * igt@kms_cursor_edge_walk@pipe-d-256x256-bottom-edge:
    - shard-iclb:         NOTRUN -> [SKIP][89] ([fdo#109278]) +8 similar issues
   [89]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-iclb1/igt@kms_cursor_edge_walk@pipe-d-256x256-bottom-edge.html

  * igt@kms_cursor_legacy@2x-long-flip-vs-cursor-legacy:
    - shard-iclb:         NOTRUN -> [SKIP][90] ([fdo#109274] / [fdo#109278])
   [90]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-iclb4/igt@kms_cursor_legacy@2x-long-flip-vs-cursor-legacy.html

  * igt@kms_flip@2x-flip-vs-expired-vblank-interruptible@ac-hdmi-a1-hdmi-a2:
    - shard-glk:          [PASS][91] -> [FAIL][92] ([i915#79])
   [91]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9885/shard-glk9/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible@ac-hdmi-a1-hdmi-a2.html
   [92]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-glk3/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible@ac-hdmi-a1-hdmi-a2.html

  * igt@kms_flip@2x-plain-flip-fb-recreate-interruptible:
    - shard-iclb:         NOTRUN -> [SKIP][93] ([fdo#109274]) +1 similar issue
   [93]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-iclb7/igt@kms_flip@2x-plain-flip-fb-recreate-interruptible.html

  * igt@kms_flip@flip-vs-suspend-interruptible@b-dp1:
    - shard-kbl:          [PASS][94] -> [DMESG-WARN][95] ([i915#180])
   [94]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9885/shard-kbl7/igt@kms_flip@flip-vs-suspend-interruptible@b-dp1.html
   [95]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-kbl1/igt@kms_flip@flip-vs-suspend-interruptible@b-dp1.html

  * igt@kms_flip@flip-vs-suspend@a-dp1:
    - shard-kbl:          NOTRUN -> [INCOMPLETE][96] ([i915#155])
   [96]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-kbl3/igt@kms_flip@flip-vs-suspend@a-dp1.html

  * igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytilegen12rcccs:
    - shard-apl:          NOTRUN -> [SKIP][97] ([fdo#109271] / [i915#2672])
   [97]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-apl6/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytilegen12rcccs.html

  * igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile:
    - shard-tglb:         NOTRUN -> [SKIP][98] ([i915#2587])
   [98]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-tglb2/igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile.html

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-blt:
    - shard-iclb:         NOTRUN -> [SKIP][99] ([fdo#109280]) +12 similar issues
   [99]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-iclb3/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbc-indfb-scaledprimary:
    - shard-kbl:          [PASS][100] -> [FAIL][101] ([i915#2546] / [i915#49])
   [100]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9885/shard-kbl1/igt@kms_frontbuffer_tracking@fbc-indfb-scaledprimary.html
   [101]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-kbl1/igt@kms_frontbuffer_tracking@fbc-indfb-scaledprimary.html

  * igt@kms_frontbuffer_tracking@psr-2p-scndscrn-pri-shrfb-draw-mmap-cpu:
    - shard-kbl:          NOTRUN -> [SKIP][102] ([fdo#109271]) +51 similar issues
   [102]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-kbl4/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-pri-shrfb-draw-mmap-cpu.html

  * igt@kms_frontbuffer_tracking@psr-2p-scndscrn-spr-indfb-draw-pwrite:
    - shard-tglb:         NOTRUN -> [SKIP][103] ([fdo#111825]) +29 similar issues
   [103]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-tglb2/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-spr-indfb-draw-pwrite.html

  * igt@kms_hdr@static-toggle-dpms:
    - shard-tglb:         NOTRUN -> [SKIP][104] ([i915#1187])
   [104]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-tglb3/igt@kms_hdr@static-toggle-dpms.html
    - shard-iclb:         NOTRUN -> [SKIP][105] ([i915#1187])
   [105]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-iclb3/igt@kms_hdr@static-toggle-dpms.html

  * igt@kms_multipipe_modeset@basic-max-pipe-crc-check:
    - shard-tglb:         NOTRUN -> [SKIP][106] ([i915#1839]) +1 similar issue
   [106]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-tglb3/igt@kms_multipipe_modeset@basic-max-pipe-crc-check.html

  * igt@kms_pipe_b_c_ivb@disable-pipe-b-enable-pipe-c:
    - shard-apl:          NOTRUN -> [SKIP][107] ([fdo#109271]) +178 similar issues
   [107]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-apl7/igt@kms_pipe_b_c_ivb@disable-pipe-b-enable-pipe-c.html

  * igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-d:
    - shard-apl:          NOTRUN -> [SKIP][108] ([fdo#109271] / [i915#533]) +4 similar issues
   [108]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-apl8/igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-d.html

  * igt@kms_plane_alpha_blend@pipe-a-alpha-7efc:
    - shard-kbl:          NOTRUN -> [FAIL][109] ([fdo#108145] / [i915#265]) +1 similar issue
   [109]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-kbl1/igt@kms_plane_alpha_blend@pipe-a-alpha-7efc.html

  * igt@kms_plane_alpha_blend@pipe-a-alpha-opaque-fb:
    - shard-apl:          NOTRUN -> [FAIL][110] ([fdo#108145] / [i915#265]) +2 similar issues
   [110]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-apl6/igt@kms_plane_alpha_blend@pipe-a-alpha-opaque-fb.html

  * igt@kms_plane_alpha_blend@pipe-b-alpha-transparent-fb:
    - shard-apl:          NOTRUN -> [FAIL][111] ([i915#265])
   [111]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-apl1/igt@kms_plane_alpha_blend@pipe-b-alpha-transparent-fb.html

  * igt@kms_plane_lowres@pipe-d-tiling-yf:
    - shard-tglb:         NOTRUN -> [SKIP][112] ([fdo#112054])
   [112]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-tglb6/igt@kms_plane_lowres@pipe-d-tiling-yf.html

  * igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area-5:
    - shard-apl:          NOTRUN -> [SKIP][113] ([fdo#109271] / [i915#658]) +3 similar issues
   [113]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-apl7/igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area-5.html

  * igt@kms_psr2_sf@primary-plane-update-sf-dmg-area-2:
    - shard-iclb:         NOTRUN -> [SKIP][114] ([i915#658])
   [114]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-iclb8/igt@kms_psr2_sf@primary-plane-update-sf-dmg-area-2.html
    - shard-kbl:          NOTRUN -> [SKIP][115] ([fdo#109271] / [i915#658])
   [115]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-kbl2/igt@kms_psr2_sf@primary-plane-update-sf-dmg-area-2.html
    - shard-glk:          NOTRUN -> [SKIP][116] ([fdo#109271] / [i915#658])
   [116]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-glk4/igt@kms_psr2_sf@primary-plane-update-sf-dmg-area-2.html

  * igt@kms_psr@psr2_sprite_plane_move:
    - shard-iclb:         [PASS][117] -> [SKIP][118] ([fdo#109441]) +2 similar issues
   [117]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9885/shard-iclb2/igt@kms_psr@psr2_sprite_plane_move.html
   [118]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-iclb7/igt@kms_psr@psr2_sprite_plane_move.html

  * igt@kms_setmode@basic:
    - shard-snb:          NOTRUN -> [FAIL][119] ([i915#31])
   [119]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-snb2/igt@kms_setmode@basic.html

  * igt@kms_vblank@pipe-a-query-forked-hang:
    - shard-snb:          [PASS][120] -> [SKIP][121] ([fdo#109271]) +1 similar issue
   [120]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9885/shard-snb2/igt@kms_vblank@pipe-a-query-forked-hang.html
   [121]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-snb2/igt@kms_vblank@pipe-a-query-forked-hang.html

  * igt@kms_vblank@pipe-d-wait-idle:
    - shard-kbl:          NOTRUN -> [SKIP][122] ([fdo#109271] / [i915#533])
   [122]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-kbl7/igt@kms_vblank@pipe-d-wait-idle.html
    - shard-glk:          NOTRUN -> [SKIP][123] ([fdo#109271] / [i915#533])
   [123]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-glk9/igt@kms_vblank@pipe-d-wait-idle.html

  * igt@kms_writeback@writeback-check-output:
    - shard-apl:          NOTRUN -> [SKIP][124] ([fdo#109271] / [i915#2437]) +1 similar issue
   [124]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-apl1/igt@kms_writeback@writeback-check-output.html

  * igt@nouveau_crc@pipe-a-source-rg:
    - shard-iclb:         NOTRUN -> [SKIP][125] ([i915#2530]) +1 similar issue
   [125]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-iclb2/igt@nouveau_crc@pipe-a-source-rg.html
    - shard-tglb:         NOTRUN -> [SKIP][126] ([i915#2530]) +2 similar issues
   [126]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-tglb6/igt@nouveau_crc@pipe-a-source-rg.html

  * igt@perf@rc6-disable:
    - shard-tglb:         [PASS][127] -> [SKIP][128] ([fdo#111719])
   [127]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9885/shard-tglb3/igt@perf@rc6-disable.html
   [128]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-tglb8/igt@perf@rc6-disable.html

  * igt@prime_nv_api@i915_self_import:
    - shard-tglb:         NOTRUN -> [SKIP][129] ([fdo#109291]) +4 similar issues
   [129]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-tglb5/igt@prime_nv_api@i915_self_import.html

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

  * igt@sysfs_clients@recycle-many:
    - shard-glk:          [PASS][131] -> [FAIL][132] ([i915#3028])
   [131]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9885/shard-glk3/igt@sysfs_clients@recycle-many.html
   [132]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-glk2/igt@sysfs_clients@recycle-many.html

  * igt@sysfs_clients@split-10@bcs0:
    - shard-glk:          [PASS][133] -> [SKIP][134] ([fdo#109271] / [i915#3026])
   [133]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9885/shard-glk2/igt@sysfs_clients@split-10@bcs0.html
   [134]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-glk1/igt@sysfs_clients@split-10@bcs0.html
    - shard-apl:          NOTRUN -> [SKIP][135] ([fdo#109271] / [i915#3026])
   [135]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-apl7/igt@sysfs_clients@split-10@bcs0.html

  
#### Possible fixes ####

  * igt@gem_ctx_isolation@preservation-s3@rcs0:
    - shard-apl:          [DMESG-WARN][136] ([i915#180]) -> [PASS][137]
   [136]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9885/shard-apl6/igt@gem_ctx_isolation@preservation-s3@rcs0.html
   [137]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-apl6/igt@gem_ctx_isolation@preservation-s3@rcs0.html

  * igt@gem_exec_fair@basic-deadline:
    - shard-kbl:          [FAIL][138] ([i915#2846]) -> [PASS][139]
   [138]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9885/shard-kbl7/igt@gem_exec_fair@basic-deadline.html
   [139]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-kbl6/igt@gem_exec_fair@basic-deadline.html

  * igt@gem_exec_fair@basic-flow@rcs0:
    - shard-tglb:         [FAIL][140] ([i915#2842]) -> [PASS][141] +2 similar issues
   [140]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9885/shard-tglb2/igt@gem_exec_fair@basic-flow@rcs0.html
   [141]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5646/shard-tglb2/igt@gem_exec_fair@basic-flow@rcs0.html

  * igt@gem_exec_fair@basic-none-rrul@rcs0:
    - shard-i

== Logs ==

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

[-- Attachment #1.2: Type: text/html, Size: 33740 bytes --]

[-- Attachment #2: Type: text/plain, Size: 154 bytes --]

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [igt-dev] [PATCH i-g-t 6/9] tests/i915/gem_ctx_create: Stop cloning engines
  2021-03-23  3:51   ` [igt-dev] [PATCH i-g-t 0/9] Adjust IGT for upstream API clean-ups (v2) Jason Ekstrand
@ 2021-03-23  3:51     ` Jason Ekstrand
  0 siblings, 0 replies; 14+ messages in thread
From: Jason Ekstrand @ 2021-03-23  3:51 UTC (permalink / raw)
  To: igt-dev

There's no reason to clone engines here, especially when context 0 is
just a default context so creating a new context will have the same
engines as context 0.

Signed-off-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 tests/i915/gem_ctx_create.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/tests/i915/gem_ctx_create.c b/tests/i915/gem_ctx_create.c
index 9a512a03..7d2ee8fb 100644
--- a/tests/i915/gem_ctx_create.c
+++ b/tests/i915/gem_ctx_create.c
@@ -299,9 +299,7 @@ static void maximum(int fd, int ncpus, unsigned mode)
 
 		err = -ENOMEM;
 		if (avail_mem > (count + 1) * ctx_size)
-			err =  __gem_context_clone(fd, 0,
-						   I915_CONTEXT_CLONE_ENGINES,
-						   0, &ctx_id);
+			err =  __gem_context_create(fd, &ctx_id);
 		if (err) {
 			igt_info("Created %lu contexts, before failing with '%s' [%d]\n",
 				 count, strerror(-err), -err);
-- 
2.29.2

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [igt-dev] [PATCH i-g-t 6/9] tests/i915/gem_ctx_create: Stop cloning engines
  2021-03-22 20:41 ` [igt-dev] [PATCH i-g-t 0/9] Adjust IGT for upstream API clean-ups (v2) Jason Ekstrand
@ 2021-03-22 20:41   ` Jason Ekstrand
  2021-03-23  3:51   ` [igt-dev] [PATCH i-g-t 0/9] Adjust IGT for upstream API clean-ups (v2) Jason Ekstrand
  1 sibling, 0 replies; 14+ messages in thread
From: Jason Ekstrand @ 2021-03-22 20:41 UTC (permalink / raw)
  To: igt-dev

There's no reason to clone engines here, especially when context 0 is
just a default context so creating a new context will have the same
engines as context 0.

Signed-off-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 tests/i915/gem_ctx_create.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/tests/i915/gem_ctx_create.c b/tests/i915/gem_ctx_create.c
index 9a512a03..7d2ee8fb 100644
--- a/tests/i915/gem_ctx_create.c
+++ b/tests/i915/gem_ctx_create.c
@@ -299,9 +299,7 @@ static void maximum(int fd, int ncpus, unsigned mode)
 
 		err = -ENOMEM;
 		if (avail_mem > (count + 1) * ctx_size)
-			err =  __gem_context_clone(fd, 0,
-						   I915_CONTEXT_CLONE_ENGINES,
-						   0, &ctx_id);
+			err =  __gem_context_create(fd, &ctx_id);
 		if (err) {
 			igt_info("Created %lu contexts, before failing with '%s' [%d]\n",
 				 count, strerror(-err), -err);
-- 
2.29.2

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply related	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2021-03-24 10:33 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-03-23 17:24 [igt-dev] [PATCH i-g-t 0/9] Adjust IGT for upstream API clean-ups Jason Ekstrand
2021-03-23 17:24 ` [igt-dev] [PATCH i-g-t 1/9] tests/i915: Drop gem_ctx_ringsize Jason Ekstrand
2021-03-23 17:24 ` [igt-dev] [PATCH i-g-t 2/9] tests/i915/gem_exec_balancer: Drop the ringsize subtest Jason Ekstrand
2021-03-23 17:24 ` [igt-dev] [PATCH i-g-t 3/9] tests/i915/gem_exec_endless: Stop setting the ring size Jason Ekstrand
2021-03-23 17:24 ` [igt-dev] [PATCH i-g-t 4/9] tests/i915/gem_ctx_param: Drop the zeromap subtests Jason Ekstrand
2021-03-23 17:24 ` [igt-dev] [PATCH i-g-t 5/9] tests/i915: Drop gem_ctx_clone Jason Ekstrand
2021-03-23 17:24 ` [igt-dev] [PATCH i-g-t 6/9] tests/i915/gem_ctx_create: Stop cloning engines Jason Ekstrand
2021-03-23 17:24 ` [igt-dev] [PATCH i-g-t 7/9] tests/i915/gem_ctx_persistence: Drop the clone test Jason Ekstrand
2021-03-23 17:24 ` [igt-dev] [PATCH i-g-t 8/9] tests/i915/gem_exec_balancer: Stop cloning engines Jason Ekstrand
2021-03-23 17:24 ` [igt-dev] [PATCH i-g-t 9/9] lib/i915/gem_context: Implement VM and engine cloning manually (v3) Jason Ekstrand
2021-03-23 18:35 ` [igt-dev] ✓ Fi.CI.BAT: success for Adjust IGT for upstream API clean-ups (rev3) Patchwork
2021-03-24 10:33 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
  -- strict thread matches above, loose matches on Subject: below --
2021-03-19 22:32 [igt-dev] [PATCH i-g-t 0/8] Adjust IGT for upstream API clean-ups Jason Ekstrand
2021-03-22 20:41 ` [igt-dev] [PATCH i-g-t 0/9] Adjust IGT for upstream API clean-ups (v2) Jason Ekstrand
2021-03-22 20:41   ` [igt-dev] [PATCH i-g-t 6/9] tests/i915/gem_ctx_create: Stop cloning engines Jason Ekstrand
2021-03-23  3:51   ` [igt-dev] [PATCH i-g-t 0/9] Adjust IGT for upstream API clean-ups (v2) Jason Ekstrand
2021-03-23  3:51     ` [igt-dev] [PATCH i-g-t 6/9] tests/i915/gem_ctx_create: Stop cloning engines Jason Ekstrand

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.