All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] drm/i915/gem: Excise the per-batch whitelist from the context
@ 2019-11-25 15:27 ` Chris Wilson
  0 siblings, 0 replies; 18+ messages in thread
From: Chris Wilson @ 2019-11-25 15:27 UTC (permalink / raw)
  To: intel-gfx

One does not lightly add a new hidden struct_mutex dependency deep within
the execbuf bowels! The immediate suspicion in seeing the whitelist
cached on the context, is that it is intended to be preserved between
batches, as the kernel is quite adept at caching small allocations
itself. But no, it's sole purpose is to serialise command submission in
order to save a kmalloc on a slow, slow path!

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
---
 drivers/gpu/drm/i915/gem/i915_gem_context.c   |  5 --
 .../gpu/drm/i915/gem/i915_gem_context_types.h |  7 ---
 drivers/gpu/drm/i915/i915_cmd_parser.c        | 60 +++++++------------
 3 files changed, 21 insertions(+), 51 deletions(-)

diff --git a/drivers/gpu/drm/i915/gem/i915_gem_context.c b/drivers/gpu/drm/i915/gem/i915_gem_context.c
index c94ac838401a..a179e170c936 100644
--- a/drivers/gpu/drm/i915/gem/i915_gem_context.c
+++ b/drivers/gpu/drm/i915/gem/i915_gem_context.c
@@ -275,8 +275,6 @@ static void i915_gem_context_free(struct i915_gem_context *ctx)
 	free_engines(rcu_access_pointer(ctx->engines));
 	mutex_destroy(&ctx->engines_mutex);
 
-	kfree(ctx->jump_whitelist);
-
 	if (ctx->timeline)
 		intel_timeline_put(ctx->timeline);
 
@@ -584,9 +582,6 @@ __create_context(struct drm_i915_private *i915)
 	for (i = 0; i < ARRAY_SIZE(ctx->hang_timestamp); i++)
 		ctx->hang_timestamp[i] = jiffies - CONTEXT_FAST_HANG_JIFFIES;
 
-	ctx->jump_whitelist = NULL;
-	ctx->jump_whitelist_cmds = 0;
-
 	spin_lock(&i915->gem.contexts.lock);
 	list_add_tail(&ctx->link, &i915->gem.contexts.list);
 	spin_unlock(&i915->gem.contexts.lock);
diff --git a/drivers/gpu/drm/i915/gem/i915_gem_context_types.h b/drivers/gpu/drm/i915/gem/i915_gem_context_types.h
index c060bc428f49..69df5459c350 100644
--- a/drivers/gpu/drm/i915/gem/i915_gem_context_types.h
+++ b/drivers/gpu/drm/i915/gem/i915_gem_context_types.h
@@ -168,13 +168,6 @@ struct i915_gem_context {
 	 */
 	struct radix_tree_root handles_vma;
 
-	/** jump_whitelist: Bit array for tracking cmds during cmdparsing
-	 *  Guarded by struct_mutex
-	 */
-	unsigned long *jump_whitelist;
-	/** jump_whitelist_cmds: No of cmd slots available */
-	u32 jump_whitelist_cmds;
-
 	/**
 	 * @name: arbitrary name, used for user debug
 	 *
diff --git a/drivers/gpu/drm/i915/i915_cmd_parser.c b/drivers/gpu/drm/i915/i915_cmd_parser.c
index f24096e27bef..ded2c1ed0f7e 100644
--- a/drivers/gpu/drm/i915/i915_cmd_parser.c
+++ b/drivers/gpu/drm/i915/i915_cmd_parser.c
@@ -1310,7 +1310,8 @@ static int check_bbstart(const struct i915_gem_context *ctx,
 			 u32 *cmd, u32 offset, u32 length,
 			 u32 batch_len,
 			 u64 batch_start,
-			 u64 shadow_batch_start)
+			 u64 shadow_batch_start,
+			 unsigned long *jump_whitelist)
 {
 	u64 jump_offset, jump_target;
 	u32 target_cmd_offset, target_cmd_index;
@@ -1352,10 +1353,7 @@ static int check_bbstart(const struct i915_gem_context *ctx,
 	if (target_cmd_index == offset)
 		return 0;
 
-	if (ctx->jump_whitelist_cmds <= target_cmd_index) {
-		DRM_DEBUG("CMD: Rejecting BB_START - truncated whitelist array\n");
-		return -EINVAL;
-	} else if (!test_bit(target_cmd_index, ctx->jump_whitelist)) {
+	if (!test_bit(target_cmd_index, jump_whitelist)) {
 		DRM_DEBUG("CMD: BB_START to 0x%llx not a previously executed cmd\n",
 			  jump_target);
 		return -EINVAL;
@@ -1364,40 +1362,19 @@ static int check_bbstart(const struct i915_gem_context *ctx,
 	return 0;
 }
 
-static void init_whitelist(struct i915_gem_context *ctx, u32 batch_len)
+static unsigned long *
+alloc_whitelist(struct drm_i915_private *i915, u32 batch_len)
 {
-	const u32 batch_cmds = DIV_ROUND_UP(batch_len, sizeof(u32));
-	const u32 exact_size = BITS_TO_LONGS(batch_cmds);
-	u32 next_size = BITS_TO_LONGS(roundup_pow_of_two(batch_cmds));
-	unsigned long *next_whitelist;
-
-	if (CMDPARSER_USES_GGTT(ctx->i915))
-		return;
-
-	if (batch_cmds <= ctx->jump_whitelist_cmds) {
-		bitmap_zero(ctx->jump_whitelist, batch_cmds);
-		return;
-	}
+	unsigned long *jmp;
 
-again:
-	next_whitelist = kcalloc(next_size, sizeof(long), GFP_KERNEL);
-	if (next_whitelist) {
-		kfree(ctx->jump_whitelist);
-		ctx->jump_whitelist = next_whitelist;
-		ctx->jump_whitelist_cmds =
-			next_size * BITS_PER_BYTE * sizeof(long);
-		return;
-	}
-
-	if (next_size > exact_size) {
-		next_size = exact_size;
-		goto again;
-	}
+	if (CMDPARSER_USES_GGTT(i915))
+		return NULL;
 
-	DRM_DEBUG("CMD: Failed to extend whitelist. BB_START may be disallowed\n");
-	bitmap_zero(ctx->jump_whitelist, ctx->jump_whitelist_cmds);
+	jmp = bitmap_zalloc(DIV_ROUND_UP(batch_len, sizeof(u32)), GFP_KERNEL);
+	if (!jmp)
+		return ERR_PTR(-ENOMEM);
 
-	return;
+	return jmp;
 }
 
 #define LENGTH_BIAS 2
@@ -1433,6 +1410,7 @@ int intel_engine_cmd_parser(struct i915_gem_context *ctx,
 	struct drm_i915_cmd_descriptor default_desc = noop_desc;
 	const struct drm_i915_cmd_descriptor *desc = &default_desc;
 	bool needs_clflush_after = false;
+	unsigned long *jump_whitelist;
 	int ret = 0;
 
 	cmd = copy_batch(shadow_batch_obj, batch_obj,
@@ -1443,7 +1421,9 @@ int intel_engine_cmd_parser(struct i915_gem_context *ctx,
 		return PTR_ERR(cmd);
 	}
 
-	init_whitelist(ctx, batch_len);
+	jump_whitelist = alloc_whitelist(ctx->i915, batch_len);
+	if (IS_ERR(jump_whitelist))
+		return PTR_ERR(jump_whitelist);
 
 	/*
 	 * We use the batch length as size because the shadow object is as
@@ -1487,15 +1467,16 @@ int intel_engine_cmd_parser(struct i915_gem_context *ctx,
 		if (desc->cmd.value == MI_BATCH_BUFFER_START) {
 			ret = check_bbstart(ctx, cmd, offset, length,
 					    batch_len, batch_start,
-					    shadow_batch_start);
+					    shadow_batch_start,
+					    jump_whitelist);
 
 			if (ret)
 				goto err;
 			break;
 		}
 
-		if (ctx->jump_whitelist_cmds > offset)
-			set_bit(offset, ctx->jump_whitelist);
+		if (jump_whitelist)
+			set_bit(offset, jump_whitelist);
 
 		cmd += length;
 		offset += length;
@@ -1513,6 +1494,7 @@ int intel_engine_cmd_parser(struct i915_gem_context *ctx,
 	}
 
 err:
+	kfree(jump_whitelist);
 	i915_gem_object_unpin_map(shadow_batch_obj);
 	return ret;
 }
-- 
2.24.0

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* [Intel-gfx] [PATCH 1/2] drm/i915/gem: Excise the per-batch whitelist from the context
@ 2019-11-25 15:27 ` Chris Wilson
  0 siblings, 0 replies; 18+ messages in thread
From: Chris Wilson @ 2019-11-25 15:27 UTC (permalink / raw)
  To: intel-gfx

One does not lightly add a new hidden struct_mutex dependency deep within
the execbuf bowels! The immediate suspicion in seeing the whitelist
cached on the context, is that it is intended to be preserved between
batches, as the kernel is quite adept at caching small allocations
itself. But no, it's sole purpose is to serialise command submission in
order to save a kmalloc on a slow, slow path!

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
---
 drivers/gpu/drm/i915/gem/i915_gem_context.c   |  5 --
 .../gpu/drm/i915/gem/i915_gem_context_types.h |  7 ---
 drivers/gpu/drm/i915/i915_cmd_parser.c        | 60 +++++++------------
 3 files changed, 21 insertions(+), 51 deletions(-)

diff --git a/drivers/gpu/drm/i915/gem/i915_gem_context.c b/drivers/gpu/drm/i915/gem/i915_gem_context.c
index c94ac838401a..a179e170c936 100644
--- a/drivers/gpu/drm/i915/gem/i915_gem_context.c
+++ b/drivers/gpu/drm/i915/gem/i915_gem_context.c
@@ -275,8 +275,6 @@ static void i915_gem_context_free(struct i915_gem_context *ctx)
 	free_engines(rcu_access_pointer(ctx->engines));
 	mutex_destroy(&ctx->engines_mutex);
 
-	kfree(ctx->jump_whitelist);
-
 	if (ctx->timeline)
 		intel_timeline_put(ctx->timeline);
 
@@ -584,9 +582,6 @@ __create_context(struct drm_i915_private *i915)
 	for (i = 0; i < ARRAY_SIZE(ctx->hang_timestamp); i++)
 		ctx->hang_timestamp[i] = jiffies - CONTEXT_FAST_HANG_JIFFIES;
 
-	ctx->jump_whitelist = NULL;
-	ctx->jump_whitelist_cmds = 0;
-
 	spin_lock(&i915->gem.contexts.lock);
 	list_add_tail(&ctx->link, &i915->gem.contexts.list);
 	spin_unlock(&i915->gem.contexts.lock);
diff --git a/drivers/gpu/drm/i915/gem/i915_gem_context_types.h b/drivers/gpu/drm/i915/gem/i915_gem_context_types.h
index c060bc428f49..69df5459c350 100644
--- a/drivers/gpu/drm/i915/gem/i915_gem_context_types.h
+++ b/drivers/gpu/drm/i915/gem/i915_gem_context_types.h
@@ -168,13 +168,6 @@ struct i915_gem_context {
 	 */
 	struct radix_tree_root handles_vma;
 
-	/** jump_whitelist: Bit array for tracking cmds during cmdparsing
-	 *  Guarded by struct_mutex
-	 */
-	unsigned long *jump_whitelist;
-	/** jump_whitelist_cmds: No of cmd slots available */
-	u32 jump_whitelist_cmds;
-
 	/**
 	 * @name: arbitrary name, used for user debug
 	 *
diff --git a/drivers/gpu/drm/i915/i915_cmd_parser.c b/drivers/gpu/drm/i915/i915_cmd_parser.c
index f24096e27bef..ded2c1ed0f7e 100644
--- a/drivers/gpu/drm/i915/i915_cmd_parser.c
+++ b/drivers/gpu/drm/i915/i915_cmd_parser.c
@@ -1310,7 +1310,8 @@ static int check_bbstart(const struct i915_gem_context *ctx,
 			 u32 *cmd, u32 offset, u32 length,
 			 u32 batch_len,
 			 u64 batch_start,
-			 u64 shadow_batch_start)
+			 u64 shadow_batch_start,
+			 unsigned long *jump_whitelist)
 {
 	u64 jump_offset, jump_target;
 	u32 target_cmd_offset, target_cmd_index;
@@ -1352,10 +1353,7 @@ static int check_bbstart(const struct i915_gem_context *ctx,
 	if (target_cmd_index == offset)
 		return 0;
 
-	if (ctx->jump_whitelist_cmds <= target_cmd_index) {
-		DRM_DEBUG("CMD: Rejecting BB_START - truncated whitelist array\n");
-		return -EINVAL;
-	} else if (!test_bit(target_cmd_index, ctx->jump_whitelist)) {
+	if (!test_bit(target_cmd_index, jump_whitelist)) {
 		DRM_DEBUG("CMD: BB_START to 0x%llx not a previously executed cmd\n",
 			  jump_target);
 		return -EINVAL;
@@ -1364,40 +1362,19 @@ static int check_bbstart(const struct i915_gem_context *ctx,
 	return 0;
 }
 
-static void init_whitelist(struct i915_gem_context *ctx, u32 batch_len)
+static unsigned long *
+alloc_whitelist(struct drm_i915_private *i915, u32 batch_len)
 {
-	const u32 batch_cmds = DIV_ROUND_UP(batch_len, sizeof(u32));
-	const u32 exact_size = BITS_TO_LONGS(batch_cmds);
-	u32 next_size = BITS_TO_LONGS(roundup_pow_of_two(batch_cmds));
-	unsigned long *next_whitelist;
-
-	if (CMDPARSER_USES_GGTT(ctx->i915))
-		return;
-
-	if (batch_cmds <= ctx->jump_whitelist_cmds) {
-		bitmap_zero(ctx->jump_whitelist, batch_cmds);
-		return;
-	}
+	unsigned long *jmp;
 
-again:
-	next_whitelist = kcalloc(next_size, sizeof(long), GFP_KERNEL);
-	if (next_whitelist) {
-		kfree(ctx->jump_whitelist);
-		ctx->jump_whitelist = next_whitelist;
-		ctx->jump_whitelist_cmds =
-			next_size * BITS_PER_BYTE * sizeof(long);
-		return;
-	}
-
-	if (next_size > exact_size) {
-		next_size = exact_size;
-		goto again;
-	}
+	if (CMDPARSER_USES_GGTT(i915))
+		return NULL;
 
-	DRM_DEBUG("CMD: Failed to extend whitelist. BB_START may be disallowed\n");
-	bitmap_zero(ctx->jump_whitelist, ctx->jump_whitelist_cmds);
+	jmp = bitmap_zalloc(DIV_ROUND_UP(batch_len, sizeof(u32)), GFP_KERNEL);
+	if (!jmp)
+		return ERR_PTR(-ENOMEM);
 
-	return;
+	return jmp;
 }
 
 #define LENGTH_BIAS 2
@@ -1433,6 +1410,7 @@ int intel_engine_cmd_parser(struct i915_gem_context *ctx,
 	struct drm_i915_cmd_descriptor default_desc = noop_desc;
 	const struct drm_i915_cmd_descriptor *desc = &default_desc;
 	bool needs_clflush_after = false;
+	unsigned long *jump_whitelist;
 	int ret = 0;
 
 	cmd = copy_batch(shadow_batch_obj, batch_obj,
@@ -1443,7 +1421,9 @@ int intel_engine_cmd_parser(struct i915_gem_context *ctx,
 		return PTR_ERR(cmd);
 	}
 
-	init_whitelist(ctx, batch_len);
+	jump_whitelist = alloc_whitelist(ctx->i915, batch_len);
+	if (IS_ERR(jump_whitelist))
+		return PTR_ERR(jump_whitelist);
 
 	/*
 	 * We use the batch length as size because the shadow object is as
@@ -1487,15 +1467,16 @@ int intel_engine_cmd_parser(struct i915_gem_context *ctx,
 		if (desc->cmd.value == MI_BATCH_BUFFER_START) {
 			ret = check_bbstart(ctx, cmd, offset, length,
 					    batch_len, batch_start,
-					    shadow_batch_start);
+					    shadow_batch_start,
+					    jump_whitelist);
 
 			if (ret)
 				goto err;
 			break;
 		}
 
-		if (ctx->jump_whitelist_cmds > offset)
-			set_bit(offset, ctx->jump_whitelist);
+		if (jump_whitelist)
+			set_bit(offset, jump_whitelist);
 
 		cmd += length;
 		offset += length;
@@ -1513,6 +1494,7 @@ int intel_engine_cmd_parser(struct i915_gem_context *ctx,
 	}
 
 err:
+	kfree(jump_whitelist);
 	i915_gem_object_unpin_map(shadow_batch_obj);
 	return ret;
 }
-- 
2.24.0

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* [PATCH 2/2] Revert "drm/i915: use a separate context for gpu relocs"
@ 2019-11-25 15:27   ` Chris Wilson
  0 siblings, 0 replies; 18+ messages in thread
From: Chris Wilson @ 2019-11-25 15:27 UTC (permalink / raw)
  To: intel-gfx

Since commit c45e788d95b4 ("drm/i915/tgl: Suspend pre-parser across GTT
invalidations"), we now disable the advanced preparser on Tigerlake for the
invalidation phase at the start of the batch, we no longer need to emit
the GPU relocations from a second context as they are now flushed inlined.

References: 8a9a982767b7 ("drm/i915: use a separate context for gpu relocs")
References: c45e788d95b4 ("drm/i915/tgl: Suspend pre-parser across GTT invalidations")
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
---
 .../gpu/drm/i915/gem/i915_gem_execbuffer.c    | 30 +------------------
 1 file changed, 1 insertion(+), 29 deletions(-)

diff --git a/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c b/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c
index 7a87e8270460..459f4d40b69b 100644
--- a/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c
+++ b/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c
@@ -253,7 +253,6 @@ struct i915_execbuffer {
 		bool has_fence : 1;
 		bool needs_unfenced : 1;
 
-		struct intel_context *ce;
 		struct i915_request *rq;
 		u32 *rq_cmd;
 		unsigned int rq_size;
@@ -886,9 +885,6 @@ static void eb_destroy(const struct i915_execbuffer *eb)
 {
 	GEM_BUG_ON(eb->reloc_cache.rq);
 
-	if (eb->reloc_cache.ce)
-		intel_context_put(eb->reloc_cache.ce);
-
 	if (eb->lut_size > 0)
 		kfree(eb->buckets);
 }
@@ -912,7 +908,6 @@ static void reloc_cache_init(struct reloc_cache *cache,
 	cache->has_fence = cache->gen < 4;
 	cache->needs_unfenced = INTEL_INFO(i915)->unfenced_needs_alignment;
 	cache->node.flags = 0;
-	cache->ce = NULL;
 	cache->rq = NULL;
 	cache->rq_size = 0;
 }
@@ -1182,7 +1177,7 @@ static int __reloc_gpu_alloc(struct i915_execbuffer *eb,
 	if (err)
 		goto err_unmap;
 
-	rq = intel_context_create_request(cache->ce);
+	rq = i915_request_create(eb->context);
 	if (IS_ERR(rq)) {
 		err = PTR_ERR(rq);
 		goto err_unpin;
@@ -1253,29 +1248,6 @@ static u32 *reloc_gpu(struct i915_execbuffer *eb,
 		if (!intel_engine_can_store_dword(eb->engine))
 			return ERR_PTR(-ENODEV);
 
-		if (!cache->ce) {
-			struct intel_context *ce;
-
-			/*
-			 * The CS pre-parser can pre-fetch commands across
-			 * memory sync points and starting gen12 it is able to
-			 * pre-fetch across BB_START and BB_END boundaries
-			 * (within the same context). We therefore use a
-			 * separate context gen12+ to guarantee that the reloc
-			 * writes land before the parser gets to the target
-			 * memory location.
-			 */
-			if (cache->gen >= 12)
-				ce = intel_context_create(eb->context->gem_context,
-							  eb->engine);
-			else
-				ce = intel_context_get(eb->context);
-			if (IS_ERR(ce))
-				return ERR_CAST(ce);
-
-			cache->ce = ce;
-		}
-
 		err = __reloc_gpu_alloc(eb, vma, len);
 		if (unlikely(err))
 			return ERR_PTR(err);
-- 
2.24.0

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* [Intel-gfx] [PATCH 2/2] Revert "drm/i915: use a separate context for gpu relocs"
@ 2019-11-25 15:27   ` Chris Wilson
  0 siblings, 0 replies; 18+ messages in thread
From: Chris Wilson @ 2019-11-25 15:27 UTC (permalink / raw)
  To: intel-gfx

Since commit c45e788d95b4 ("drm/i915/tgl: Suspend pre-parser across GTT
invalidations"), we now disable the advanced preparser on Tigerlake for the
invalidation phase at the start of the batch, we no longer need to emit
the GPU relocations from a second context as they are now flushed inlined.

References: 8a9a982767b7 ("drm/i915: use a separate context for gpu relocs")
References: c45e788d95b4 ("drm/i915/tgl: Suspend pre-parser across GTT invalidations")
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
---
 .../gpu/drm/i915/gem/i915_gem_execbuffer.c    | 30 +------------------
 1 file changed, 1 insertion(+), 29 deletions(-)

diff --git a/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c b/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c
index 7a87e8270460..459f4d40b69b 100644
--- a/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c
+++ b/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c
@@ -253,7 +253,6 @@ struct i915_execbuffer {
 		bool has_fence : 1;
 		bool needs_unfenced : 1;
 
-		struct intel_context *ce;
 		struct i915_request *rq;
 		u32 *rq_cmd;
 		unsigned int rq_size;
@@ -886,9 +885,6 @@ static void eb_destroy(const struct i915_execbuffer *eb)
 {
 	GEM_BUG_ON(eb->reloc_cache.rq);
 
-	if (eb->reloc_cache.ce)
-		intel_context_put(eb->reloc_cache.ce);
-
 	if (eb->lut_size > 0)
 		kfree(eb->buckets);
 }
@@ -912,7 +908,6 @@ static void reloc_cache_init(struct reloc_cache *cache,
 	cache->has_fence = cache->gen < 4;
 	cache->needs_unfenced = INTEL_INFO(i915)->unfenced_needs_alignment;
 	cache->node.flags = 0;
-	cache->ce = NULL;
 	cache->rq = NULL;
 	cache->rq_size = 0;
 }
@@ -1182,7 +1177,7 @@ static int __reloc_gpu_alloc(struct i915_execbuffer *eb,
 	if (err)
 		goto err_unmap;
 
-	rq = intel_context_create_request(cache->ce);
+	rq = i915_request_create(eb->context);
 	if (IS_ERR(rq)) {
 		err = PTR_ERR(rq);
 		goto err_unpin;
@@ -1253,29 +1248,6 @@ static u32 *reloc_gpu(struct i915_execbuffer *eb,
 		if (!intel_engine_can_store_dword(eb->engine))
 			return ERR_PTR(-ENODEV);
 
-		if (!cache->ce) {
-			struct intel_context *ce;
-
-			/*
-			 * The CS pre-parser can pre-fetch commands across
-			 * memory sync points and starting gen12 it is able to
-			 * pre-fetch across BB_START and BB_END boundaries
-			 * (within the same context). We therefore use a
-			 * separate context gen12+ to guarantee that the reloc
-			 * writes land before the parser gets to the target
-			 * memory location.
-			 */
-			if (cache->gen >= 12)
-				ce = intel_context_create(eb->context->gem_context,
-							  eb->engine);
-			else
-				ce = intel_context_get(eb->context);
-			if (IS_ERR(ce))
-				return ERR_CAST(ce);
-
-			cache->ce = ce;
-		}
-
 		err = __reloc_gpu_alloc(eb, vma, len);
 		if (unlikely(err))
 			return ERR_PTR(err);
-- 
2.24.0

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* ✗ Fi.CI.CHECKPATCH: warning for series starting with [1/2] drm/i915/gem: Excise the per-batch whitelist from the context
@ 2019-11-25 16:34   ` Patchwork
  0 siblings, 0 replies; 18+ messages in thread
From: Patchwork @ 2019-11-25 16:34 UTC (permalink / raw)
  To: Chris Wilson; +Cc: intel-gfx

== Series Details ==

Series: series starting with [1/2] drm/i915/gem: Excise the per-batch whitelist from the context
URL   : https://patchwork.freedesktop.org/series/69988/
State : warning

== Summary ==

$ dim checkpatch origin/drm-tip
b54dfcdb21c6 drm/i915/gem: Excise the per-batch whitelist from the context
13e83bbd474f Revert "drm/i915: use a separate context for gpu relocs"
-:11: WARNING:COMMIT_LOG_LONG_LINE: Possible unwrapped commit description (prefer a maximum 75 chars per line)
#11: 
References: 8a9a982767b7 ("drm/i915: use a separate context for gpu relocs")

-:11: ERROR:GIT_COMMIT_ID: Please use git commit description style 'commit <12+ chars of sha1> ("<title line>")' - ie: 'commit 8a9a982767b7 ("drm/i915: use a separate context for gpu relocs")'
#11: 
References: 8a9a982767b7 ("drm/i915: use a separate context for gpu relocs")

-:12: ERROR:GIT_COMMIT_ID: Please use git commit description style 'commit <12+ chars of sha1> ("<title line>")' - ie: 'commit c45e788d95b4 ("drm/i915/tgl: Suspend pre-parser across GTT invalidations")'
#12: 
References: c45e788d95b4 ("drm/i915/tgl: Suspend pre-parser across GTT invalidations")

total: 2 errors, 1 warnings, 0 checks, 60 lines checked

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for series starting with [1/2] drm/i915/gem: Excise the per-batch whitelist from the context
@ 2019-11-25 16:34   ` Patchwork
  0 siblings, 0 replies; 18+ messages in thread
From: Patchwork @ 2019-11-25 16:34 UTC (permalink / raw)
  To: Chris Wilson; +Cc: intel-gfx

== Series Details ==

Series: series starting with [1/2] drm/i915/gem: Excise the per-batch whitelist from the context
URL   : https://patchwork.freedesktop.org/series/69988/
State : warning

== Summary ==

$ dim checkpatch origin/drm-tip
b54dfcdb21c6 drm/i915/gem: Excise the per-batch whitelist from the context
13e83bbd474f Revert "drm/i915: use a separate context for gpu relocs"
-:11: WARNING:COMMIT_LOG_LONG_LINE: Possible unwrapped commit description (prefer a maximum 75 chars per line)
#11: 
References: 8a9a982767b7 ("drm/i915: use a separate context for gpu relocs")

-:11: ERROR:GIT_COMMIT_ID: Please use git commit description style 'commit <12+ chars of sha1> ("<title line>")' - ie: 'commit 8a9a982767b7 ("drm/i915: use a separate context for gpu relocs")'
#11: 
References: 8a9a982767b7 ("drm/i915: use a separate context for gpu relocs")

-:12: ERROR:GIT_COMMIT_ID: Please use git commit description style 'commit <12+ chars of sha1> ("<title line>")' - ie: 'commit c45e788d95b4 ("drm/i915/tgl: Suspend pre-parser across GTT invalidations")'
#12: 
References: c45e788d95b4 ("drm/i915/tgl: Suspend pre-parser across GTT invalidations")

total: 2 errors, 1 warnings, 0 checks, 60 lines checked

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* ✓ Fi.CI.BAT: success for series starting with [1/2] drm/i915/gem: Excise the per-batch whitelist from the context
@ 2019-11-25 16:57   ` Patchwork
  0 siblings, 0 replies; 18+ messages in thread
From: Patchwork @ 2019-11-25 16:57 UTC (permalink / raw)
  To: Chris Wilson; +Cc: intel-gfx

== Series Details ==

Series: series starting with [1/2] drm/i915/gem: Excise the per-batch whitelist from the context
URL   : https://patchwork.freedesktop.org/series/69988/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_7418 -> Patchwork_15425
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

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

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

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

### IGT changes ###

#### Possible fixes ####

  * igt@gem_ctx_exec@basic:
    - fi-icl-dsi:         [DMESG-WARN][1] ([fdo#106107]) -> [PASS][2]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/fi-icl-dsi/igt@gem_ctx_exec@basic.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/fi-icl-dsi/igt@gem_ctx_exec@basic.html

  
#### Warnings ####

  * igt@gem_exec_suspend@basic-s0:
    - fi-kbl-x1275:       [DMESG-WARN][3] ([fdo#103558] / [fdo#105602] / [fdo#105763]) -> [DMESG-WARN][4] ([fdo#103558] / [fdo#105602]) +7 similar issues
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/fi-kbl-x1275/igt@gem_exec_suspend@basic-s0.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/fi-kbl-x1275/igt@gem_exec_suspend@basic-s0.html

  * igt@gem_exec_suspend@basic-s4-devices:
    - fi-kbl-x1275:       [DMESG-WARN][5] ([fdo#103558] / [fdo#105602] / [fdo#105763] / [fdo#107139]) -> [DMESG-WARN][6] ([fdo#103558] / [fdo#105602] / [fdo#107139])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/fi-kbl-x1275/igt@gem_exec_suspend@basic-s4-devices.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/fi-kbl-x1275/igt@gem_exec_suspend@basic-s4-devices.html

  * igt@kms_busy@basic-flip-pipe-a:
    - fi-kbl-x1275:       [DMESG-WARN][7] ([fdo#103558] / [fdo#105602]) -> [DMESG-WARN][8] ([fdo#103558] / [fdo#105602] / [fdo#105763]) +6 similar issues
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/fi-kbl-x1275/igt@kms_busy@basic-flip-pipe-a.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/fi-kbl-x1275/igt@kms_busy@basic-flip-pipe-a.html

  * igt@kms_chamelium@hdmi-hpd-fast:
    - fi-kbl-7500u:       [FAIL][9] ([fdo#111045] / [fdo#111096]) -> [FAIL][10] ([fdo#111407])
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/fi-kbl-7500u/igt@kms_chamelium@hdmi-hpd-fast.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/fi-kbl-7500u/igt@kms_chamelium@hdmi-hpd-fast.html

  
  [fdo#103558]: https://bugs.freedesktop.org/show_bug.cgi?id=103558
  [fdo#105602]: https://bugs.freedesktop.org/show_bug.cgi?id=105602
  [fdo#105763]: https://bugs.freedesktop.org/show_bug.cgi?id=105763
  [fdo#106107]: https://bugs.freedesktop.org/show_bug.cgi?id=106107
  [fdo#107139]: https://bugs.freedesktop.org/show_bug.cgi?id=107139
  [fdo#111045]: https://bugs.freedesktop.org/show_bug.cgi?id=111045
  [fdo#111096]: https://bugs.freedesktop.org/show_bug.cgi?id=111096
  [fdo#111407]: https://bugs.freedesktop.org/show_bug.cgi?id=111407


Participating hosts (51 -> 45)
------------------------------

  Missing    (6): fi-ilk-m540 fi-byt-squawks fi-bsw-cyan fi-ctg-p8600 fi-byt-clapper fi-bdw-samus 


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

  * CI: CI-20190529 -> None
  * Linux: CI_DRM_7418 -> Patchwork_15425

  CI-20190529: 20190529
  CI_DRM_7418: 6e08331c458d051f6e12d478c96ae6c3c89061ca @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_5305: eafaa79dfb71f7251126f1c000e0cbe94425c95a @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_15425: 13e83bbd474fa5409f1ae9a545c6ddcf1a3afb26 @ git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

13e83bbd474f Revert "drm/i915: use a separate context for gpu relocs"
b54dfcdb21c6 drm/i915/gem: Excise the per-batch whitelist from the context

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/index.html
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* [Intel-gfx] ✓ Fi.CI.BAT: success for series starting with [1/2] drm/i915/gem: Excise the per-batch whitelist from the context
@ 2019-11-25 16:57   ` Patchwork
  0 siblings, 0 replies; 18+ messages in thread
From: Patchwork @ 2019-11-25 16:57 UTC (permalink / raw)
  To: Chris Wilson; +Cc: intel-gfx

== Series Details ==

Series: series starting with [1/2] drm/i915/gem: Excise the per-batch whitelist from the context
URL   : https://patchwork.freedesktop.org/series/69988/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_7418 -> Patchwork_15425
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

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

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

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

### IGT changes ###

#### Possible fixes ####

  * igt@gem_ctx_exec@basic:
    - fi-icl-dsi:         [DMESG-WARN][1] ([fdo#106107]) -> [PASS][2]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/fi-icl-dsi/igt@gem_ctx_exec@basic.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/fi-icl-dsi/igt@gem_ctx_exec@basic.html

  
#### Warnings ####

  * igt@gem_exec_suspend@basic-s0:
    - fi-kbl-x1275:       [DMESG-WARN][3] ([fdo#103558] / [fdo#105602] / [fdo#105763]) -> [DMESG-WARN][4] ([fdo#103558] / [fdo#105602]) +7 similar issues
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/fi-kbl-x1275/igt@gem_exec_suspend@basic-s0.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/fi-kbl-x1275/igt@gem_exec_suspend@basic-s0.html

  * igt@gem_exec_suspend@basic-s4-devices:
    - fi-kbl-x1275:       [DMESG-WARN][5] ([fdo#103558] / [fdo#105602] / [fdo#105763] / [fdo#107139]) -> [DMESG-WARN][6] ([fdo#103558] / [fdo#105602] / [fdo#107139])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/fi-kbl-x1275/igt@gem_exec_suspend@basic-s4-devices.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/fi-kbl-x1275/igt@gem_exec_suspend@basic-s4-devices.html

  * igt@kms_busy@basic-flip-pipe-a:
    - fi-kbl-x1275:       [DMESG-WARN][7] ([fdo#103558] / [fdo#105602]) -> [DMESG-WARN][8] ([fdo#103558] / [fdo#105602] / [fdo#105763]) +6 similar issues
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/fi-kbl-x1275/igt@kms_busy@basic-flip-pipe-a.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/fi-kbl-x1275/igt@kms_busy@basic-flip-pipe-a.html

  * igt@kms_chamelium@hdmi-hpd-fast:
    - fi-kbl-7500u:       [FAIL][9] ([fdo#111045] / [fdo#111096]) -> [FAIL][10] ([fdo#111407])
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/fi-kbl-7500u/igt@kms_chamelium@hdmi-hpd-fast.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/fi-kbl-7500u/igt@kms_chamelium@hdmi-hpd-fast.html

  
  [fdo#103558]: https://bugs.freedesktop.org/show_bug.cgi?id=103558
  [fdo#105602]: https://bugs.freedesktop.org/show_bug.cgi?id=105602
  [fdo#105763]: https://bugs.freedesktop.org/show_bug.cgi?id=105763
  [fdo#106107]: https://bugs.freedesktop.org/show_bug.cgi?id=106107
  [fdo#107139]: https://bugs.freedesktop.org/show_bug.cgi?id=107139
  [fdo#111045]: https://bugs.freedesktop.org/show_bug.cgi?id=111045
  [fdo#111096]: https://bugs.freedesktop.org/show_bug.cgi?id=111096
  [fdo#111407]: https://bugs.freedesktop.org/show_bug.cgi?id=111407


Participating hosts (51 -> 45)
------------------------------

  Missing    (6): fi-ilk-m540 fi-byt-squawks fi-bsw-cyan fi-ctg-p8600 fi-byt-clapper fi-bdw-samus 


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

  * CI: CI-20190529 -> None
  * Linux: CI_DRM_7418 -> Patchwork_15425

  CI-20190529: 20190529
  CI_DRM_7418: 6e08331c458d051f6e12d478c96ae6c3c89061ca @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_5305: eafaa79dfb71f7251126f1c000e0cbe94425c95a @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_15425: 13e83bbd474fa5409f1ae9a545c6ddcf1a3afb26 @ git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

13e83bbd474f Revert "drm/i915: use a separate context for gpu relocs"
b54dfcdb21c6 drm/i915/gem: Excise the per-batch whitelist from the context

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/index.html
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* ✗ Fi.CI.IGT: failure for series starting with [1/2] drm/i915/gem: Excise the per-batch whitelist from the context
@ 2019-11-26  3:04   ` Patchwork
  0 siblings, 0 replies; 18+ messages in thread
From: Patchwork @ 2019-11-26  3:04 UTC (permalink / raw)
  To: Chris Wilson; +Cc: intel-gfx

== Series Details ==

Series: series starting with [1/2] drm/i915/gem: Excise the per-batch whitelist from the context
URL   : https://patchwork.freedesktop.org/series/69988/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_7418_full -> Patchwork_15425_full
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with Patchwork_15425_full absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in Patchwork_15425_full, please notify your bug team to allow them
  to document this new failure mode, which will reduce false positives in CI.

  

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

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

### IGT changes ###

#### Possible regressions ####

  * igt@gem_ctx_persistence@smoketest:
    - shard-glk:          [PASS][1] -> [TIMEOUT][2]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-glk9/igt@gem_ctx_persistence@smoketest.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-glk8/igt@gem_ctx_persistence@smoketest.html

  * igt@gem_ppgtt@flink-and-close-vma-leak:
    - shard-glk:          [PASS][3] -> [FAIL][4]
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-glk7/igt@gem_ppgtt@flink-and-close-vma-leak.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-glk2/igt@gem_ppgtt@flink-and-close-vma-leak.html
    - shard-kbl:          [PASS][5] -> [FAIL][6]
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-kbl6/igt@gem_ppgtt@flink-and-close-vma-leak.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-kbl2/igt@gem_ppgtt@flink-and-close-vma-leak.html

  * igt@i915_selftest@live_gt_heartbeat:
    - shard-skl:          [PASS][7] -> [DMESG-FAIL][8]
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-skl6/igt@i915_selftest@live_gt_heartbeat.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-skl3/igt@i915_selftest@live_gt_heartbeat.html

  * igt@kms_big_fb@y-tiled-32bpp-rotate-180:
    - shard-skl:          [PASS][9] -> [INCOMPLETE][10] +1 similar issue
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-skl5/igt@kms_big_fb@y-tiled-32bpp-rotate-180.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-skl7/igt@kms_big_fb@y-tiled-32bpp-rotate-180.html

  * igt@perf@oa-exponents:
    - shard-skl:          [PASS][11] -> [TIMEOUT][12]
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-skl4/igt@perf@oa-exponents.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-skl2/igt@perf@oa-exponents.html

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

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

### IGT changes ###

#### Issues hit ####

  * igt@gem_ctx_isolation@rcs0-s3:
    - shard-kbl:          [PASS][13] -> [DMESG-WARN][14] ([fdo#108566]) +9 similar issues
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-kbl2/igt@gem_ctx_isolation@rcs0-s3.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-kbl2/igt@gem_ctx_isolation@rcs0-s3.html
    - shard-tglb:         [PASS][15] -> [INCOMPLETE][16] ([fdo#111832])
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-tglb8/igt@gem_ctx_isolation@rcs0-s3.html
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-tglb8/igt@gem_ctx_isolation@rcs0-s3.html

  * igt@gem_ctx_shared@q-smoketest-bsd2:
    - shard-tglb:         [PASS][17] -> [INCOMPLETE][18] ([fdo# 111852 ])
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-tglb9/igt@gem_ctx_shared@q-smoketest-bsd2.html
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-tglb9/igt@gem_ctx_shared@q-smoketest-bsd2.html

  * igt@gem_exec_schedule@independent-bsd:
    - shard-iclb:         [PASS][19] -> [SKIP][20] ([fdo#112146])
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-iclb8/igt@gem_exec_schedule@independent-bsd.html
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-iclb4/igt@gem_exec_schedule@independent-bsd.html

  * igt@gem_exec_schedule@preempt-queue-vebox:
    - shard-tglb:         [PASS][21] -> [INCOMPLETE][22] ([fdo#111677])
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-tglb5/igt@gem_exec_schedule@preempt-queue-vebox.html
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-tglb6/igt@gem_exec_schedule@preempt-queue-vebox.html

  * igt@gem_exec_suspend@basic:
    - shard-tglb:         [PASS][23] -> [INCOMPLETE][24] ([fdo#111850])
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-tglb2/igt@gem_exec_suspend@basic.html
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-tglb4/igt@gem_exec_suspend@basic.html

  * igt@gem_persistent_relocs@forked-thrashing:
    - shard-hsw:          [PASS][25] -> [FAIL][26] ([fdo#112037])
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-hsw6/igt@gem_persistent_relocs@forked-thrashing.html
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-hsw7/igt@gem_persistent_relocs@forked-thrashing.html

  * igt@gem_userptr_blits@dmabuf-unsync:
    - shard-hsw:          [PASS][27] -> [DMESG-WARN][28] ([fdo#111870])
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-hsw8/igt@gem_userptr_blits@dmabuf-unsync.html
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-hsw6/igt@gem_userptr_blits@dmabuf-unsync.html

  * igt@gem_userptr_blits@sync-unmap-after-close:
    - shard-snb:          [PASS][29] -> [DMESG-WARN][30] ([fdo#111870])
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-snb7/igt@gem_userptr_blits@sync-unmap-after-close.html
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-snb7/igt@gem_userptr_blits@sync-unmap-after-close.html

  * igt@i915_suspend@fence-restore-tiled2untiled:
    - shard-tglb:         [PASS][31] -> [INCOMPLETE][32] ([fdo#111832] / [fdo#111850]) +2 similar issues
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-tglb9/igt@i915_suspend@fence-restore-tiled2untiled.html
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-tglb3/igt@i915_suspend@fence-restore-tiled2untiled.html

  * igt@kms_flip@2x-flip-vs-expired-vblank-interruptible:
    - shard-glk:          [PASS][33] -> [FAIL][34] ([fdo#105363])
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-glk5/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible.html
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-glk2/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible.html

  * igt@kms_flip@flip-vs-suspend-interruptible:
    - shard-apl:          [PASS][35] -> [DMESG-WARN][36] ([fdo#108566])
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-apl3/igt@kms_flip@flip-vs-suspend-interruptible.html
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-apl4/igt@kms_flip@flip-vs-suspend-interruptible.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-pri-indfb-multidraw:
    - shard-tglb:         [PASS][37] -> [FAIL][38] ([fdo#103167])
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-tglb4/igt@kms_frontbuffer_tracking@fbcpsr-1p-pri-indfb-multidraw.html
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-tglb7/igt@kms_frontbuffer_tracking@fbcpsr-1p-pri-indfb-multidraw.html

  * igt@kms_frontbuffer_tracking@fbcpsr-suspend:
    - shard-tglb:         [PASS][39] -> [INCOMPLETE][40] ([fdo#111832] / [fdo#111850] / [fdo#111884])
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-tglb9/igt@kms_frontbuffer_tracking@fbcpsr-suspend.html
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-tglb4/igt@kms_frontbuffer_tracking@fbcpsr-suspend.html

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-move:
    - shard-skl:          [PASS][41] -> [INCOMPLETE][42] ([fdo#106978]) +1 similar issue
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-skl5/igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-move.html
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-skl10/igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-move.html

  * igt@kms_plane@pixel-format-pipe-a-planes:
    - shard-kbl:          [PASS][43] -> [INCOMPLETE][44] ([fdo#103665])
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-kbl3/igt@kms_plane@pixel-format-pipe-a-planes.html
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-kbl1/igt@kms_plane@pixel-format-pipe-a-planes.html

  
#### Possible fixes ####

  * igt@debugfs_test@read_all_entries_display_on:
    - shard-skl:          [DMESG-WARN][45] ([fdo#106107]) -> [PASS][46]
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-skl7/igt@debugfs_test@read_all_entries_display_on.html
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-skl10/igt@debugfs_test@read_all_entries_display_on.html

  * igt@gem_ctx_isolation@bcs0-s3:
    - shard-tglb:         [INCOMPLETE][47] ([fdo#111832]) -> [PASS][48]
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-tglb2/igt@gem_ctx_isolation@bcs0-s3.html
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-tglb9/igt@gem_ctx_isolation@bcs0-s3.html

  * igt@gem_ctx_persistence@vcs1-mixed-process:
    - shard-iclb:         [SKIP][49] ([fdo#109276] / [fdo#112080]) -> [PASS][50]
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-iclb8/igt@gem_ctx_persistence@vcs1-mixed-process.html
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-iclb4/igt@gem_ctx_persistence@vcs1-mixed-process.html

  * igt@gem_ctx_shared@single-timeline:
    - shard-kbl:          [FAIL][51] -> [PASS][52]
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-kbl6/igt@gem_ctx_shared@single-timeline.html
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-kbl2/igt@gem_ctx_shared@single-timeline.html

  * igt@gem_ctx_switch@legacy-bsd2-queue:
    - shard-iclb:         [SKIP][53] ([fdo#109276]) -> [PASS][54] +8 similar issues
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-iclb5/igt@gem_ctx_switch@legacy-bsd2-queue.html
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-iclb1/igt@gem_ctx_switch@legacy-bsd2-queue.html

  * igt@gem_exec_balancer@smoke:
    - shard-iclb:         [SKIP][55] ([fdo#110854]) -> [PASS][56]
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-iclb5/igt@gem_exec_balancer@smoke.html
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-iclb1/igt@gem_exec_balancer@smoke.html

  * igt@gem_exec_schedule@deep-bsd2:
    - shard-tglb:         [FAIL][57] ([fdo#111646]) -> [PASS][58]
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-tglb8/igt@gem_exec_schedule@deep-bsd2.html
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-tglb3/igt@gem_exec_schedule@deep-bsd2.html

  * igt@gem_persistent_relocs@forked-thrashing:
    - shard-snb:          [FAIL][59] ([fdo#112037]) -> [PASS][60]
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-snb2/igt@gem_persistent_relocs@forked-thrashing.html
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-snb4/igt@gem_persistent_relocs@forked-thrashing.html

  * igt@gem_ppgtt@flink-and-close-vma-leak:
    - shard-apl:          [FAIL][61] -> [PASS][62]
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-apl6/igt@gem_ppgtt@flink-and-close-vma-leak.html
   [62]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-apl2/igt@gem_ppgtt@flink-and-close-vma-leak.html

  * igt@gem_softpin@noreloc-s3:
    - shard-apl:          [DMESG-WARN][63] ([fdo#108566]) -> [PASS][64]
   [63]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-apl4/igt@gem_softpin@noreloc-s3.html
   [64]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-apl1/igt@gem_softpin@noreloc-s3.html

  * igt@gem_userptr_blits@dmabuf-sync:
    - shard-snb:          [DMESG-WARN][65] ([fdo#111870]) -> [PASS][66]
   [65]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-snb2/igt@gem_userptr_blits@dmabuf-sync.html
   [66]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-snb4/igt@gem_userptr_blits@dmabuf-sync.html

  * igt@gem_userptr_blits@map-fixed-invalidate-busy:
    - shard-hsw:          [DMESG-WARN][67] ([fdo#111870]) -> [PASS][68]
   [67]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-hsw5/igt@gem_userptr_blits@map-fixed-invalidate-busy.html
   [68]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-hsw4/igt@gem_userptr_blits@map-fixed-invalidate-busy.html

  * igt@gem_userptr_blits@sync-unmap-after-close:
    - shard-glk:          [INCOMPLETE][69] ([fdo#103359] / [k.org#198133]) -> [PASS][70]
   [69]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-glk2/igt@gem_userptr_blits@sync-unmap-after-close.html
   [70]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-glk1/igt@gem_userptr_blits@sync-unmap-after-close.html

  * igt@kms_big_fb@x-tiled-8bpp-rotate-180:
    - shard-tglb:         [INCOMPLETE][71] -> [PASS][72]
   [71]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-tglb1/igt@kms_big_fb@x-tiled-8bpp-rotate-180.html
   [72]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-tglb1/igt@kms_big_fb@x-tiled-8bpp-rotate-180.html

  * igt@kms_flip@flip-vs-expired-vblank-interruptible:
    - shard-skl:          [FAIL][73] ([fdo#105363]) -> [PASS][74]
   [73]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-skl8/igt@kms_flip@flip-vs-expired-vblank-interruptible.html
   [74]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-skl6/igt@kms_flip@flip-vs-expired-vblank-interruptible.html

  * igt@kms_flip@plain-flip-ts-check-interruptible:
    - shard-skl:          [FAIL][75] ([fdo#100368]) -> [PASS][76]
   [75]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-skl2/igt@kms_flip@plain-flip-ts-check-interruptible.html
   [76]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-skl9/igt@kms_flip@plain-flip-ts-check-interruptible.html

  * igt@kms_frontbuffer_tracking@fbc-1p-pri-indfb-multidraw:
    - shard-iclb:         [FAIL][77] ([fdo#103167]) -> [PASS][78] +2 similar issues
   [77]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-iclb5/igt@kms_frontbuffer_tracking@fbc-1p-pri-indfb-multidraw.html
   [78]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-iclb6/igt@kms_frontbuffer_tracking@fbc-1p-pri-indfb-multidraw.html

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-render:
    - shard-iclb:         [INCOMPLETE][79] ([fdo#107713]) -> [PASS][80] +1 similar issue
   [79]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-iclb6/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-render.html
   [80]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-iclb2/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-render.html

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-indfb-msflip-blt:
    - shard-tglb:         [FAIL][81] ([fdo#103167]) -> [PASS][82] +1 similar issue
   [81]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-tglb8/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-indfb-msflip-blt.html
   [82]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-tglb3/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-indfb-msflip-blt.html

  * igt@kms_frontbuffer_tracking@fbc-suspend:
    - shard-kbl:          [DMESG-WARN][83] ([fdo#108566]) -> [PASS][84] +5 similar issues
   [83]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-kbl2/igt@kms_frontbuffer_tracking@fbc-suspend.html
   [84]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-kbl2/igt@kms_frontbuffer_tracking@fbc-suspend.html

  * igt@kms_frontbuffer_tracking@psr-shrfb-scaledprimary:
    - shard-skl:          [INCOMPLETE][85] ([fdo#106978]) -> [PASS][86]
   [85]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-skl7/igt@kms_frontbuffer_tracking@psr-shrfb-scaledprimary.html
   [86]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-skl6/igt@kms_frontbuffer_tracking@psr-shrfb-scaledprimary.html

  * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-b:
    - shard-tglb:         [INCOMPLETE][87] ([fdo#111832] / [fdo#111850]) -> [PASS][88] +1 similar issue
   [87]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-tglb2/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-b.html
   [88]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-tglb4/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-b.html

  * igt@kms_plane@pixel-format-pipe-a-planes-source-clamping:
    - shard-kbl:          [INCOMPLETE][89] ([fdo#103665]) -> [PASS][90]
   [89]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-kbl6/igt@kms_plane@pixel-format-pipe-a-planes-source-clamping.html
   [90]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-kbl3/igt@kms_plane@pixel-format-pipe-a-planes-source-clamping.html

  * igt@kms_psr@psr2_primary_blt:
    - shard-iclb:         [SKIP][91] ([fdo#109441]) -> [PASS][92]
   [91]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-iclb4/igt@kms_psr@psr2_primary_blt.html
   [92]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-iclb2/igt@kms_psr@psr2_primary_blt.html

  * igt@kms_setmode@basic:
    - shard-kbl:          [FAIL][93] ([fdo#99912]) -> [PASS][94]
   [93]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-kbl1/igt@kms_setmode@basic.html
   [94]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-kbl2/igt@kms_setmode@basic.html

  * igt@perf@disabled-read-error:
    - shard-hsw:          [INCOMPLETE][95] ([fdo#103540]) -> [PASS][96]
   [95]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-hsw2/igt@perf@disabled-read-error.html
   [96]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-hsw5/igt@perf@disabled-read-error.html

  * igt@perf_pmu@idle-vcs1:
    - shard-iclb:         [SKIP][97] ([fdo#112080]) -> [PASS][98] +1 similar issue
   [97]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-iclb8/igt@perf_pmu@idle-vcs1.html
   [98]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-iclb4/igt@perf_pmu@idle-vcs1.html

  
#### Warnings ####

  * igt@gem_ctx_isolation@vcs1-nonpriv-switch:
    - shard-iclb:         [SKIP][99] ([fdo#109276] / [fdo#112080]) -> [FAIL][100] ([fdo#111329])
   [99]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-iclb5/igt@gem_ctx_isolation@vcs1-nonpriv-switch.html
   [100]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-iclb1/igt@gem_ctx_isolation@vcs1-nonpriv-switch.html

  * igt@gem_eio@kms:
    - shard-snb:          [INCOMPLETE][101] ([fdo#105411]) -> [DMESG-WARN][102] ([fdo#111781])
   [101]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-snb4/igt@gem_eio@kms.html
   [102]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-snb7/igt@gem_eio@kms.html

  
  [fdo# 111852 ]: https://bugs.freedesktop.org/show_bug.cgi?id= 111852 
  [fdo#100368]: https://bugs.freedesktop.org/show_bug.cgi?id=100368
  [fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
  [fdo#103359]: https://bugs.freedesktop.org/show_bug.cgi?id=103359
  [fdo#103540]: https://bugs.freedesktop.org/show_bug.cgi?id=103540
  [fdo#103665]: https://bugs.freedesktop.org/show_bug.cgi?id=103665
  [fdo#105363]: https://bugs.freedesktop.org/show_bug.cgi?id=105363
  [fdo#105411]: https://bugs.freedesktop.org/show_bug.cgi?id=105411
  [fdo#106107]: https://bugs.freedesktop.org/show_bug.cgi?id=106107
  [fdo#106978]: https://bugs.freedesktop.org/show_bug.cgi?id=106978
  [fdo#107713]: https://bugs.freedesktop.org/show_bug.cgi?id=107713
  [fdo#108566]: https://bugs.freedesktop.org/show_bug.cgi?id=

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/index.html
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* [Intel-gfx] ✗ Fi.CI.IGT: failure for series starting with [1/2] drm/i915/gem: Excise the per-batch whitelist from the context
@ 2019-11-26  3:04   ` Patchwork
  0 siblings, 0 replies; 18+ messages in thread
From: Patchwork @ 2019-11-26  3:04 UTC (permalink / raw)
  To: Chris Wilson; +Cc: intel-gfx

== Series Details ==

Series: series starting with [1/2] drm/i915/gem: Excise the per-batch whitelist from the context
URL   : https://patchwork.freedesktop.org/series/69988/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_7418_full -> Patchwork_15425_full
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with Patchwork_15425_full absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in Patchwork_15425_full, please notify your bug team to allow them
  to document this new failure mode, which will reduce false positives in CI.

  

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

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

### IGT changes ###

#### Possible regressions ####

  * igt@gem_ctx_persistence@smoketest:
    - shard-glk:          [PASS][1] -> [TIMEOUT][2]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-glk9/igt@gem_ctx_persistence@smoketest.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-glk8/igt@gem_ctx_persistence@smoketest.html

  * igt@gem_ppgtt@flink-and-close-vma-leak:
    - shard-glk:          [PASS][3] -> [FAIL][4]
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-glk7/igt@gem_ppgtt@flink-and-close-vma-leak.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-glk2/igt@gem_ppgtt@flink-and-close-vma-leak.html
    - shard-kbl:          [PASS][5] -> [FAIL][6]
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-kbl6/igt@gem_ppgtt@flink-and-close-vma-leak.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-kbl2/igt@gem_ppgtt@flink-and-close-vma-leak.html

  * igt@i915_selftest@live_gt_heartbeat:
    - shard-skl:          [PASS][7] -> [DMESG-FAIL][8]
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-skl6/igt@i915_selftest@live_gt_heartbeat.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-skl3/igt@i915_selftest@live_gt_heartbeat.html

  * igt@kms_big_fb@y-tiled-32bpp-rotate-180:
    - shard-skl:          [PASS][9] -> [INCOMPLETE][10] +1 similar issue
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-skl5/igt@kms_big_fb@y-tiled-32bpp-rotate-180.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-skl7/igt@kms_big_fb@y-tiled-32bpp-rotate-180.html

  * igt@perf@oa-exponents:
    - shard-skl:          [PASS][11] -> [TIMEOUT][12]
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-skl4/igt@perf@oa-exponents.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-skl2/igt@perf@oa-exponents.html

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

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

### IGT changes ###

#### Issues hit ####

  * igt@gem_ctx_isolation@rcs0-s3:
    - shard-kbl:          [PASS][13] -> [DMESG-WARN][14] ([fdo#108566]) +9 similar issues
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-kbl2/igt@gem_ctx_isolation@rcs0-s3.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-kbl2/igt@gem_ctx_isolation@rcs0-s3.html
    - shard-tglb:         [PASS][15] -> [INCOMPLETE][16] ([fdo#111832])
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-tglb8/igt@gem_ctx_isolation@rcs0-s3.html
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-tglb8/igt@gem_ctx_isolation@rcs0-s3.html

  * igt@gem_ctx_shared@q-smoketest-bsd2:
    - shard-tglb:         [PASS][17] -> [INCOMPLETE][18] ([fdo# 111852 ])
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-tglb9/igt@gem_ctx_shared@q-smoketest-bsd2.html
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-tglb9/igt@gem_ctx_shared@q-smoketest-bsd2.html

  * igt@gem_exec_schedule@independent-bsd:
    - shard-iclb:         [PASS][19] -> [SKIP][20] ([fdo#112146])
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-iclb8/igt@gem_exec_schedule@independent-bsd.html
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-iclb4/igt@gem_exec_schedule@independent-bsd.html

  * igt@gem_exec_schedule@preempt-queue-vebox:
    - shard-tglb:         [PASS][21] -> [INCOMPLETE][22] ([fdo#111677])
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-tglb5/igt@gem_exec_schedule@preempt-queue-vebox.html
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-tglb6/igt@gem_exec_schedule@preempt-queue-vebox.html

  * igt@gem_exec_suspend@basic:
    - shard-tglb:         [PASS][23] -> [INCOMPLETE][24] ([fdo#111850])
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-tglb2/igt@gem_exec_suspend@basic.html
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-tglb4/igt@gem_exec_suspend@basic.html

  * igt@gem_persistent_relocs@forked-thrashing:
    - shard-hsw:          [PASS][25] -> [FAIL][26] ([fdo#112037])
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-hsw6/igt@gem_persistent_relocs@forked-thrashing.html
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-hsw7/igt@gem_persistent_relocs@forked-thrashing.html

  * igt@gem_userptr_blits@dmabuf-unsync:
    - shard-hsw:          [PASS][27] -> [DMESG-WARN][28] ([fdo#111870])
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-hsw8/igt@gem_userptr_blits@dmabuf-unsync.html
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-hsw6/igt@gem_userptr_blits@dmabuf-unsync.html

  * igt@gem_userptr_blits@sync-unmap-after-close:
    - shard-snb:          [PASS][29] -> [DMESG-WARN][30] ([fdo#111870])
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-snb7/igt@gem_userptr_blits@sync-unmap-after-close.html
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-snb7/igt@gem_userptr_blits@sync-unmap-after-close.html

  * igt@i915_suspend@fence-restore-tiled2untiled:
    - shard-tglb:         [PASS][31] -> [INCOMPLETE][32] ([fdo#111832] / [fdo#111850]) +2 similar issues
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-tglb9/igt@i915_suspend@fence-restore-tiled2untiled.html
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-tglb3/igt@i915_suspend@fence-restore-tiled2untiled.html

  * igt@kms_flip@2x-flip-vs-expired-vblank-interruptible:
    - shard-glk:          [PASS][33] -> [FAIL][34] ([fdo#105363])
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-glk5/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible.html
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-glk2/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible.html

  * igt@kms_flip@flip-vs-suspend-interruptible:
    - shard-apl:          [PASS][35] -> [DMESG-WARN][36] ([fdo#108566])
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-apl3/igt@kms_flip@flip-vs-suspend-interruptible.html
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-apl4/igt@kms_flip@flip-vs-suspend-interruptible.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-pri-indfb-multidraw:
    - shard-tglb:         [PASS][37] -> [FAIL][38] ([fdo#103167])
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-tglb4/igt@kms_frontbuffer_tracking@fbcpsr-1p-pri-indfb-multidraw.html
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-tglb7/igt@kms_frontbuffer_tracking@fbcpsr-1p-pri-indfb-multidraw.html

  * igt@kms_frontbuffer_tracking@fbcpsr-suspend:
    - shard-tglb:         [PASS][39] -> [INCOMPLETE][40] ([fdo#111832] / [fdo#111850] / [fdo#111884])
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-tglb9/igt@kms_frontbuffer_tracking@fbcpsr-suspend.html
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-tglb4/igt@kms_frontbuffer_tracking@fbcpsr-suspend.html

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-move:
    - shard-skl:          [PASS][41] -> [INCOMPLETE][42] ([fdo#106978]) +1 similar issue
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-skl5/igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-move.html
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-skl10/igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-move.html

  * igt@kms_plane@pixel-format-pipe-a-planes:
    - shard-kbl:          [PASS][43] -> [INCOMPLETE][44] ([fdo#103665])
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-kbl3/igt@kms_plane@pixel-format-pipe-a-planes.html
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-kbl1/igt@kms_plane@pixel-format-pipe-a-planes.html

  
#### Possible fixes ####

  * igt@debugfs_test@read_all_entries_display_on:
    - shard-skl:          [DMESG-WARN][45] ([fdo#106107]) -> [PASS][46]
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-skl7/igt@debugfs_test@read_all_entries_display_on.html
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-skl10/igt@debugfs_test@read_all_entries_display_on.html

  * igt@gem_ctx_isolation@bcs0-s3:
    - shard-tglb:         [INCOMPLETE][47] ([fdo#111832]) -> [PASS][48]
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-tglb2/igt@gem_ctx_isolation@bcs0-s3.html
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-tglb9/igt@gem_ctx_isolation@bcs0-s3.html

  * igt@gem_ctx_persistence@vcs1-mixed-process:
    - shard-iclb:         [SKIP][49] ([fdo#109276] / [fdo#112080]) -> [PASS][50]
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-iclb8/igt@gem_ctx_persistence@vcs1-mixed-process.html
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-iclb4/igt@gem_ctx_persistence@vcs1-mixed-process.html

  * igt@gem_ctx_shared@single-timeline:
    - shard-kbl:          [FAIL][51] -> [PASS][52]
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-kbl6/igt@gem_ctx_shared@single-timeline.html
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-kbl2/igt@gem_ctx_shared@single-timeline.html

  * igt@gem_ctx_switch@legacy-bsd2-queue:
    - shard-iclb:         [SKIP][53] ([fdo#109276]) -> [PASS][54] +8 similar issues
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-iclb5/igt@gem_ctx_switch@legacy-bsd2-queue.html
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-iclb1/igt@gem_ctx_switch@legacy-bsd2-queue.html

  * igt@gem_exec_balancer@smoke:
    - shard-iclb:         [SKIP][55] ([fdo#110854]) -> [PASS][56]
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-iclb5/igt@gem_exec_balancer@smoke.html
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-iclb1/igt@gem_exec_balancer@smoke.html

  * igt@gem_exec_schedule@deep-bsd2:
    - shard-tglb:         [FAIL][57] ([fdo#111646]) -> [PASS][58]
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-tglb8/igt@gem_exec_schedule@deep-bsd2.html
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-tglb3/igt@gem_exec_schedule@deep-bsd2.html

  * igt@gem_persistent_relocs@forked-thrashing:
    - shard-snb:          [FAIL][59] ([fdo#112037]) -> [PASS][60]
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-snb2/igt@gem_persistent_relocs@forked-thrashing.html
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-snb4/igt@gem_persistent_relocs@forked-thrashing.html

  * igt@gem_ppgtt@flink-and-close-vma-leak:
    - shard-apl:          [FAIL][61] -> [PASS][62]
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-apl6/igt@gem_ppgtt@flink-and-close-vma-leak.html
   [62]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-apl2/igt@gem_ppgtt@flink-and-close-vma-leak.html

  * igt@gem_softpin@noreloc-s3:
    - shard-apl:          [DMESG-WARN][63] ([fdo#108566]) -> [PASS][64]
   [63]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-apl4/igt@gem_softpin@noreloc-s3.html
   [64]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-apl1/igt@gem_softpin@noreloc-s3.html

  * igt@gem_userptr_blits@dmabuf-sync:
    - shard-snb:          [DMESG-WARN][65] ([fdo#111870]) -> [PASS][66]
   [65]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-snb2/igt@gem_userptr_blits@dmabuf-sync.html
   [66]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-snb4/igt@gem_userptr_blits@dmabuf-sync.html

  * igt@gem_userptr_blits@map-fixed-invalidate-busy:
    - shard-hsw:          [DMESG-WARN][67] ([fdo#111870]) -> [PASS][68]
   [67]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-hsw5/igt@gem_userptr_blits@map-fixed-invalidate-busy.html
   [68]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-hsw4/igt@gem_userptr_blits@map-fixed-invalidate-busy.html

  * igt@gem_userptr_blits@sync-unmap-after-close:
    - shard-glk:          [INCOMPLETE][69] ([fdo#103359] / [k.org#198133]) -> [PASS][70]
   [69]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-glk2/igt@gem_userptr_blits@sync-unmap-after-close.html
   [70]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-glk1/igt@gem_userptr_blits@sync-unmap-after-close.html

  * igt@kms_big_fb@x-tiled-8bpp-rotate-180:
    - shard-tglb:         [INCOMPLETE][71] -> [PASS][72]
   [71]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-tglb1/igt@kms_big_fb@x-tiled-8bpp-rotate-180.html
   [72]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-tglb1/igt@kms_big_fb@x-tiled-8bpp-rotate-180.html

  * igt@kms_flip@flip-vs-expired-vblank-interruptible:
    - shard-skl:          [FAIL][73] ([fdo#105363]) -> [PASS][74]
   [73]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-skl8/igt@kms_flip@flip-vs-expired-vblank-interruptible.html
   [74]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-skl6/igt@kms_flip@flip-vs-expired-vblank-interruptible.html

  * igt@kms_flip@plain-flip-ts-check-interruptible:
    - shard-skl:          [FAIL][75] ([fdo#100368]) -> [PASS][76]
   [75]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-skl2/igt@kms_flip@plain-flip-ts-check-interruptible.html
   [76]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-skl9/igt@kms_flip@plain-flip-ts-check-interruptible.html

  * igt@kms_frontbuffer_tracking@fbc-1p-pri-indfb-multidraw:
    - shard-iclb:         [FAIL][77] ([fdo#103167]) -> [PASS][78] +2 similar issues
   [77]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-iclb5/igt@kms_frontbuffer_tracking@fbc-1p-pri-indfb-multidraw.html
   [78]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-iclb6/igt@kms_frontbuffer_tracking@fbc-1p-pri-indfb-multidraw.html

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-render:
    - shard-iclb:         [INCOMPLETE][79] ([fdo#107713]) -> [PASS][80] +1 similar issue
   [79]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-iclb6/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-render.html
   [80]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-iclb2/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-render.html

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-indfb-msflip-blt:
    - shard-tglb:         [FAIL][81] ([fdo#103167]) -> [PASS][82] +1 similar issue
   [81]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-tglb8/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-indfb-msflip-blt.html
   [82]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-tglb3/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-indfb-msflip-blt.html

  * igt@kms_frontbuffer_tracking@fbc-suspend:
    - shard-kbl:          [DMESG-WARN][83] ([fdo#108566]) -> [PASS][84] +5 similar issues
   [83]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-kbl2/igt@kms_frontbuffer_tracking@fbc-suspend.html
   [84]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-kbl2/igt@kms_frontbuffer_tracking@fbc-suspend.html

  * igt@kms_frontbuffer_tracking@psr-shrfb-scaledprimary:
    - shard-skl:          [INCOMPLETE][85] ([fdo#106978]) -> [PASS][86]
   [85]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-skl7/igt@kms_frontbuffer_tracking@psr-shrfb-scaledprimary.html
   [86]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-skl6/igt@kms_frontbuffer_tracking@psr-shrfb-scaledprimary.html

  * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-b:
    - shard-tglb:         [INCOMPLETE][87] ([fdo#111832] / [fdo#111850]) -> [PASS][88] +1 similar issue
   [87]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-tglb2/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-b.html
   [88]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-tglb4/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-b.html

  * igt@kms_plane@pixel-format-pipe-a-planes-source-clamping:
    - shard-kbl:          [INCOMPLETE][89] ([fdo#103665]) -> [PASS][90]
   [89]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-kbl6/igt@kms_plane@pixel-format-pipe-a-planes-source-clamping.html
   [90]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-kbl3/igt@kms_plane@pixel-format-pipe-a-planes-source-clamping.html

  * igt@kms_psr@psr2_primary_blt:
    - shard-iclb:         [SKIP][91] ([fdo#109441]) -> [PASS][92]
   [91]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-iclb4/igt@kms_psr@psr2_primary_blt.html
   [92]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-iclb2/igt@kms_psr@psr2_primary_blt.html

  * igt@kms_setmode@basic:
    - shard-kbl:          [FAIL][93] ([fdo#99912]) -> [PASS][94]
   [93]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-kbl1/igt@kms_setmode@basic.html
   [94]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-kbl2/igt@kms_setmode@basic.html

  * igt@perf@disabled-read-error:
    - shard-hsw:          [INCOMPLETE][95] ([fdo#103540]) -> [PASS][96]
   [95]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-hsw2/igt@perf@disabled-read-error.html
   [96]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-hsw5/igt@perf@disabled-read-error.html

  * igt@perf_pmu@idle-vcs1:
    - shard-iclb:         [SKIP][97] ([fdo#112080]) -> [PASS][98] +1 similar issue
   [97]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-iclb8/igt@perf_pmu@idle-vcs1.html
   [98]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-iclb4/igt@perf_pmu@idle-vcs1.html

  
#### Warnings ####

  * igt@gem_ctx_isolation@vcs1-nonpriv-switch:
    - shard-iclb:         [SKIP][99] ([fdo#109276] / [fdo#112080]) -> [FAIL][100] ([fdo#111329])
   [99]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-iclb5/igt@gem_ctx_isolation@vcs1-nonpriv-switch.html
   [100]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-iclb1/igt@gem_ctx_isolation@vcs1-nonpriv-switch.html

  * igt@gem_eio@kms:
    - shard-snb:          [INCOMPLETE][101] ([fdo#105411]) -> [DMESG-WARN][102] ([fdo#111781])
   [101]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7418/shard-snb4/igt@gem_eio@kms.html
   [102]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/shard-snb7/igt@gem_eio@kms.html

  
  [fdo# 111852 ]: https://bugs.freedesktop.org/show_bug.cgi?id= 111852 
  [fdo#100368]: https://bugs.freedesktop.org/show_bug.cgi?id=100368
  [fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
  [fdo#103359]: https://bugs.freedesktop.org/show_bug.cgi?id=103359
  [fdo#103540]: https://bugs.freedesktop.org/show_bug.cgi?id=103540
  [fdo#103665]: https://bugs.freedesktop.org/show_bug.cgi?id=103665
  [fdo#105363]: https://bugs.freedesktop.org/show_bug.cgi?id=105363
  [fdo#105411]: https://bugs.freedesktop.org/show_bug.cgi?id=105411
  [fdo#106107]: https://bugs.freedesktop.org/show_bug.cgi?id=106107
  [fdo#106978]: https://bugs.freedesktop.org/show_bug.cgi?id=106978
  [fdo#107713]: https://bugs.freedesktop.org/show_bug.cgi?id=107713
  [fdo#108566]: https://bugs.freedesktop.org/show_bug.cgi?id=

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15425/index.html
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: [PATCH 1/2] drm/i915/gem: Excise the per-batch whitelist from the context
@ 2019-11-26 11:13   ` Mika Kuoppala
  0 siblings, 0 replies; 18+ messages in thread
From: Mika Kuoppala @ 2019-11-26 11:13 UTC (permalink / raw)
  To: Chris Wilson, intel-gfx

Chris Wilson <chris@chris-wilson.co.uk> writes:

> One does not lightly add a new hidden struct_mutex dependency deep within
> the execbuf bowels! The immediate suspicion in seeing the whitelist
> cached on the context, is that it is intended to be preserved between
> batches, as the kernel is quite adept at caching small allocations
> itself. But no, it's sole purpose is to serialise command submission in
> order to save a kmalloc on a slow, slow path!

I needed n+1 cups of coffee for bouncing between this, code and
the codebase. No harm done unless I start to spam irc in chattyness
due to overdoze.

...when the real tip-off is the patch subject!

Thanks for explaining it through in irc.

It is obvious now when one does get it but it wasn't
before. So please add few lines to the commit message of what
the excise gives us wrt to future improvements in here.

something like
"By removing the whitelest dependancy from context our freedom
to chop the big mutex is greatly augmented"

..in proper english.

What are your thoughts on using nonatomic bitops?

-Mika

>
> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
> Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
> ---
>  drivers/gpu/drm/i915/gem/i915_gem_context.c   |  5 --
>  .../gpu/drm/i915/gem/i915_gem_context_types.h |  7 ---
>  drivers/gpu/drm/i915/i915_cmd_parser.c        | 60 +++++++------------
>  3 files changed, 21 insertions(+), 51 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/gem/i915_gem_context.c b/drivers/gpu/drm/i915/gem/i915_gem_context.c
> index c94ac838401a..a179e170c936 100644
> --- a/drivers/gpu/drm/i915/gem/i915_gem_context.c
> +++ b/drivers/gpu/drm/i915/gem/i915_gem_context.c
> @@ -275,8 +275,6 @@ static void i915_gem_context_free(struct i915_gem_context *ctx)
>  	free_engines(rcu_access_pointer(ctx->engines));
>  	mutex_destroy(&ctx->engines_mutex);
>  
> -	kfree(ctx->jump_whitelist);
> -
>  	if (ctx->timeline)
>  		intel_timeline_put(ctx->timeline);
>  
> @@ -584,9 +582,6 @@ __create_context(struct drm_i915_private *i915)
>  	for (i = 0; i < ARRAY_SIZE(ctx->hang_timestamp); i++)
>  		ctx->hang_timestamp[i] = jiffies - CONTEXT_FAST_HANG_JIFFIES;
>  
> -	ctx->jump_whitelist = NULL;
> -	ctx->jump_whitelist_cmds = 0;
> -
>  	spin_lock(&i915->gem.contexts.lock);
>  	list_add_tail(&ctx->link, &i915->gem.contexts.list);
>  	spin_unlock(&i915->gem.contexts.lock);
> diff --git a/drivers/gpu/drm/i915/gem/i915_gem_context_types.h b/drivers/gpu/drm/i915/gem/i915_gem_context_types.h
> index c060bc428f49..69df5459c350 100644
> --- a/drivers/gpu/drm/i915/gem/i915_gem_context_types.h
> +++ b/drivers/gpu/drm/i915/gem/i915_gem_context_types.h
> @@ -168,13 +168,6 @@ struct i915_gem_context {
>  	 */
>  	struct radix_tree_root handles_vma;
>  
> -	/** jump_whitelist: Bit array for tracking cmds during cmdparsing
> -	 *  Guarded by struct_mutex
> -	 */
> -	unsigned long *jump_whitelist;
> -	/** jump_whitelist_cmds: No of cmd slots available */
> -	u32 jump_whitelist_cmds;
> -
>  	/**
>  	 * @name: arbitrary name, used for user debug
>  	 *
> diff --git a/drivers/gpu/drm/i915/i915_cmd_parser.c b/drivers/gpu/drm/i915/i915_cmd_parser.c
> index f24096e27bef..ded2c1ed0f7e 100644
> --- a/drivers/gpu/drm/i915/i915_cmd_parser.c
> +++ b/drivers/gpu/drm/i915/i915_cmd_parser.c
> @@ -1310,7 +1310,8 @@ static int check_bbstart(const struct i915_gem_context *ctx,
>  			 u32 *cmd, u32 offset, u32 length,
>  			 u32 batch_len,
>  			 u64 batch_start,
> -			 u64 shadow_batch_start)
> +			 u64 shadow_batch_start,
> +			 unsigned long *jump_whitelist)
>  {
>  	u64 jump_offset, jump_target;
>  	u32 target_cmd_offset, target_cmd_index;
> @@ -1352,10 +1353,7 @@ static int check_bbstart(const struct i915_gem_context *ctx,
>  	if (target_cmd_index == offset)
>  		return 0;
>  
> -	if (ctx->jump_whitelist_cmds <= target_cmd_index) {
> -		DRM_DEBUG("CMD: Rejecting BB_START - truncated whitelist array\n");
> -		return -EINVAL;
> -	} else if (!test_bit(target_cmd_index, ctx->jump_whitelist)) {
> +	if (!test_bit(target_cmd_index, jump_whitelist)) {
>  		DRM_DEBUG("CMD: BB_START to 0x%llx not a previously executed cmd\n",
>  			  jump_target);
>  		return -EINVAL;
> @@ -1364,40 +1362,19 @@ static int check_bbstart(const struct i915_gem_context *ctx,
>  	return 0;
>  }
>  
> -static void init_whitelist(struct i915_gem_context *ctx, u32 batch_len)
> +static unsigned long *
> +alloc_whitelist(struct drm_i915_private *i915, u32 batch_len)
>  {
> -	const u32 batch_cmds = DIV_ROUND_UP(batch_len, sizeof(u32));
> -	const u32 exact_size = BITS_TO_LONGS(batch_cmds);
> -	u32 next_size = BITS_TO_LONGS(roundup_pow_of_two(batch_cmds));
> -	unsigned long *next_whitelist;
> -
> -	if (CMDPARSER_USES_GGTT(ctx->i915))
> -		return;
> -
> -	if (batch_cmds <= ctx->jump_whitelist_cmds) {
> -		bitmap_zero(ctx->jump_whitelist, batch_cmds);
> -		return;
> -	}
> +	unsigned long *jmp;
>  
> -again:
> -	next_whitelist = kcalloc(next_size, sizeof(long), GFP_KERNEL);
> -	if (next_whitelist) {
> -		kfree(ctx->jump_whitelist);
> -		ctx->jump_whitelist = next_whitelist;
> -		ctx->jump_whitelist_cmds =
> -			next_size * BITS_PER_BYTE * sizeof(long);
> -		return;
> -	}
> -
> -	if (next_size > exact_size) {
> -		next_size = exact_size;
> -		goto again;
> -	}
> +	if (CMDPARSER_USES_GGTT(i915))
> +		return NULL;
>  
> -	DRM_DEBUG("CMD: Failed to extend whitelist. BB_START may be disallowed\n");
> -	bitmap_zero(ctx->jump_whitelist, ctx->jump_whitelist_cmds);
> +	jmp = bitmap_zalloc(DIV_ROUND_UP(batch_len, sizeof(u32)), GFP_KERNEL);
> +	if (!jmp)
> +		return ERR_PTR(-ENOMEM);
>  
> -	return;
> +	return jmp;
>  }
>  
>  #define LENGTH_BIAS 2
> @@ -1433,6 +1410,7 @@ int intel_engine_cmd_parser(struct i915_gem_context *ctx,
>  	struct drm_i915_cmd_descriptor default_desc = noop_desc;
>  	const struct drm_i915_cmd_descriptor *desc = &default_desc;
>  	bool needs_clflush_after = false;
> +	unsigned long *jump_whitelist;
>  	int ret = 0;
>  
>  	cmd = copy_batch(shadow_batch_obj, batch_obj,
> @@ -1443,7 +1421,9 @@ int intel_engine_cmd_parser(struct i915_gem_context *ctx,
>  		return PTR_ERR(cmd);
>  	}
>  
> -	init_whitelist(ctx, batch_len);
> +	jump_whitelist = alloc_whitelist(ctx->i915, batch_len);
> +	if (IS_ERR(jump_whitelist))
> +		return PTR_ERR(jump_whitelist);
>  
>  	/*
>  	 * We use the batch length as size because the shadow object is as
> @@ -1487,15 +1467,16 @@ int intel_engine_cmd_parser(struct i915_gem_context *ctx,
>  		if (desc->cmd.value == MI_BATCH_BUFFER_START) {
>  			ret = check_bbstart(ctx, cmd, offset, length,
>  					    batch_len, batch_start,
> -					    shadow_batch_start);
> +					    shadow_batch_start,
> +					    jump_whitelist);
>  
>  			if (ret)
>  				goto err;
>  			break;
>  		}
>  
> -		if (ctx->jump_whitelist_cmds > offset)
> -			set_bit(offset, ctx->jump_whitelist);
> +		if (jump_whitelist)
> +			set_bit(offset, jump_whitelist);
>  
>  		cmd += length;
>  		offset += length;
> @@ -1513,6 +1494,7 @@ int intel_engine_cmd_parser(struct i915_gem_context *ctx,
>  	}
>  
>  err:
> +	kfree(jump_whitelist);
>  	i915_gem_object_unpin_map(shadow_batch_obj);
>  	return ret;
>  }
> -- 
> 2.24.0
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: [Intel-gfx] [PATCH 1/2] drm/i915/gem: Excise the per-batch whitelist from the context
@ 2019-11-26 11:13   ` Mika Kuoppala
  0 siblings, 0 replies; 18+ messages in thread
From: Mika Kuoppala @ 2019-11-26 11:13 UTC (permalink / raw)
  To: Chris Wilson, intel-gfx

Chris Wilson <chris@chris-wilson.co.uk> writes:

> One does not lightly add a new hidden struct_mutex dependency deep within
> the execbuf bowels! The immediate suspicion in seeing the whitelist
> cached on the context, is that it is intended to be preserved between
> batches, as the kernel is quite adept at caching small allocations
> itself. But no, it's sole purpose is to serialise command submission in
> order to save a kmalloc on a slow, slow path!

I needed n+1 cups of coffee for bouncing between this, code and
the codebase. No harm done unless I start to spam irc in chattyness
due to overdoze.

...when the real tip-off is the patch subject!

Thanks for explaining it through in irc.

It is obvious now when one does get it but it wasn't
before. So please add few lines to the commit message of what
the excise gives us wrt to future improvements in here.

something like
"By removing the whitelest dependancy from context our freedom
to chop the big mutex is greatly augmented"

..in proper english.

What are your thoughts on using nonatomic bitops?

-Mika

>
> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
> Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
> ---
>  drivers/gpu/drm/i915/gem/i915_gem_context.c   |  5 --
>  .../gpu/drm/i915/gem/i915_gem_context_types.h |  7 ---
>  drivers/gpu/drm/i915/i915_cmd_parser.c        | 60 +++++++------------
>  3 files changed, 21 insertions(+), 51 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/gem/i915_gem_context.c b/drivers/gpu/drm/i915/gem/i915_gem_context.c
> index c94ac838401a..a179e170c936 100644
> --- a/drivers/gpu/drm/i915/gem/i915_gem_context.c
> +++ b/drivers/gpu/drm/i915/gem/i915_gem_context.c
> @@ -275,8 +275,6 @@ static void i915_gem_context_free(struct i915_gem_context *ctx)
>  	free_engines(rcu_access_pointer(ctx->engines));
>  	mutex_destroy(&ctx->engines_mutex);
>  
> -	kfree(ctx->jump_whitelist);
> -
>  	if (ctx->timeline)
>  		intel_timeline_put(ctx->timeline);
>  
> @@ -584,9 +582,6 @@ __create_context(struct drm_i915_private *i915)
>  	for (i = 0; i < ARRAY_SIZE(ctx->hang_timestamp); i++)
>  		ctx->hang_timestamp[i] = jiffies - CONTEXT_FAST_HANG_JIFFIES;
>  
> -	ctx->jump_whitelist = NULL;
> -	ctx->jump_whitelist_cmds = 0;
> -
>  	spin_lock(&i915->gem.contexts.lock);
>  	list_add_tail(&ctx->link, &i915->gem.contexts.list);
>  	spin_unlock(&i915->gem.contexts.lock);
> diff --git a/drivers/gpu/drm/i915/gem/i915_gem_context_types.h b/drivers/gpu/drm/i915/gem/i915_gem_context_types.h
> index c060bc428f49..69df5459c350 100644
> --- a/drivers/gpu/drm/i915/gem/i915_gem_context_types.h
> +++ b/drivers/gpu/drm/i915/gem/i915_gem_context_types.h
> @@ -168,13 +168,6 @@ struct i915_gem_context {
>  	 */
>  	struct radix_tree_root handles_vma;
>  
> -	/** jump_whitelist: Bit array for tracking cmds during cmdparsing
> -	 *  Guarded by struct_mutex
> -	 */
> -	unsigned long *jump_whitelist;
> -	/** jump_whitelist_cmds: No of cmd slots available */
> -	u32 jump_whitelist_cmds;
> -
>  	/**
>  	 * @name: arbitrary name, used for user debug
>  	 *
> diff --git a/drivers/gpu/drm/i915/i915_cmd_parser.c b/drivers/gpu/drm/i915/i915_cmd_parser.c
> index f24096e27bef..ded2c1ed0f7e 100644
> --- a/drivers/gpu/drm/i915/i915_cmd_parser.c
> +++ b/drivers/gpu/drm/i915/i915_cmd_parser.c
> @@ -1310,7 +1310,8 @@ static int check_bbstart(const struct i915_gem_context *ctx,
>  			 u32 *cmd, u32 offset, u32 length,
>  			 u32 batch_len,
>  			 u64 batch_start,
> -			 u64 shadow_batch_start)
> +			 u64 shadow_batch_start,
> +			 unsigned long *jump_whitelist)
>  {
>  	u64 jump_offset, jump_target;
>  	u32 target_cmd_offset, target_cmd_index;
> @@ -1352,10 +1353,7 @@ static int check_bbstart(const struct i915_gem_context *ctx,
>  	if (target_cmd_index == offset)
>  		return 0;
>  
> -	if (ctx->jump_whitelist_cmds <= target_cmd_index) {
> -		DRM_DEBUG("CMD: Rejecting BB_START - truncated whitelist array\n");
> -		return -EINVAL;
> -	} else if (!test_bit(target_cmd_index, ctx->jump_whitelist)) {
> +	if (!test_bit(target_cmd_index, jump_whitelist)) {
>  		DRM_DEBUG("CMD: BB_START to 0x%llx not a previously executed cmd\n",
>  			  jump_target);
>  		return -EINVAL;
> @@ -1364,40 +1362,19 @@ static int check_bbstart(const struct i915_gem_context *ctx,
>  	return 0;
>  }
>  
> -static void init_whitelist(struct i915_gem_context *ctx, u32 batch_len)
> +static unsigned long *
> +alloc_whitelist(struct drm_i915_private *i915, u32 batch_len)
>  {
> -	const u32 batch_cmds = DIV_ROUND_UP(batch_len, sizeof(u32));
> -	const u32 exact_size = BITS_TO_LONGS(batch_cmds);
> -	u32 next_size = BITS_TO_LONGS(roundup_pow_of_two(batch_cmds));
> -	unsigned long *next_whitelist;
> -
> -	if (CMDPARSER_USES_GGTT(ctx->i915))
> -		return;
> -
> -	if (batch_cmds <= ctx->jump_whitelist_cmds) {
> -		bitmap_zero(ctx->jump_whitelist, batch_cmds);
> -		return;
> -	}
> +	unsigned long *jmp;
>  
> -again:
> -	next_whitelist = kcalloc(next_size, sizeof(long), GFP_KERNEL);
> -	if (next_whitelist) {
> -		kfree(ctx->jump_whitelist);
> -		ctx->jump_whitelist = next_whitelist;
> -		ctx->jump_whitelist_cmds =
> -			next_size * BITS_PER_BYTE * sizeof(long);
> -		return;
> -	}
> -
> -	if (next_size > exact_size) {
> -		next_size = exact_size;
> -		goto again;
> -	}
> +	if (CMDPARSER_USES_GGTT(i915))
> +		return NULL;
>  
> -	DRM_DEBUG("CMD: Failed to extend whitelist. BB_START may be disallowed\n");
> -	bitmap_zero(ctx->jump_whitelist, ctx->jump_whitelist_cmds);
> +	jmp = bitmap_zalloc(DIV_ROUND_UP(batch_len, sizeof(u32)), GFP_KERNEL);
> +	if (!jmp)
> +		return ERR_PTR(-ENOMEM);
>  
> -	return;
> +	return jmp;
>  }
>  
>  #define LENGTH_BIAS 2
> @@ -1433,6 +1410,7 @@ int intel_engine_cmd_parser(struct i915_gem_context *ctx,
>  	struct drm_i915_cmd_descriptor default_desc = noop_desc;
>  	const struct drm_i915_cmd_descriptor *desc = &default_desc;
>  	bool needs_clflush_after = false;
> +	unsigned long *jump_whitelist;
>  	int ret = 0;
>  
>  	cmd = copy_batch(shadow_batch_obj, batch_obj,
> @@ -1443,7 +1421,9 @@ int intel_engine_cmd_parser(struct i915_gem_context *ctx,
>  		return PTR_ERR(cmd);
>  	}
>  
> -	init_whitelist(ctx, batch_len);
> +	jump_whitelist = alloc_whitelist(ctx->i915, batch_len);
> +	if (IS_ERR(jump_whitelist))
> +		return PTR_ERR(jump_whitelist);
>  
>  	/*
>  	 * We use the batch length as size because the shadow object is as
> @@ -1487,15 +1467,16 @@ int intel_engine_cmd_parser(struct i915_gem_context *ctx,
>  		if (desc->cmd.value == MI_BATCH_BUFFER_START) {
>  			ret = check_bbstart(ctx, cmd, offset, length,
>  					    batch_len, batch_start,
> -					    shadow_batch_start);
> +					    shadow_batch_start,
> +					    jump_whitelist);
>  
>  			if (ret)
>  				goto err;
>  			break;
>  		}
>  
> -		if (ctx->jump_whitelist_cmds > offset)
> -			set_bit(offset, ctx->jump_whitelist);
> +		if (jump_whitelist)
> +			set_bit(offset, jump_whitelist);
>  
>  		cmd += length;
>  		offset += length;
> @@ -1513,6 +1494,7 @@ int intel_engine_cmd_parser(struct i915_gem_context *ctx,
>  	}
>  
>  err:
> +	kfree(jump_whitelist);
>  	i915_gem_object_unpin_map(shadow_batch_obj);
>  	return ret;
>  }
> -- 
> 2.24.0
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: [PATCH 1/2] drm/i915/gem: Excise the per-batch whitelist from the context
@ 2019-11-26 11:37     ` Chris Wilson
  0 siblings, 0 replies; 18+ messages in thread
From: Chris Wilson @ 2019-11-26 11:37 UTC (permalink / raw)
  To: Mika Kuoppala, intel-gfx

Quoting Mika Kuoppala (2019-11-26 11:13:27)
> Chris Wilson <chris@chris-wilson.co.uk> writes:
> 
> > One does not lightly add a new hidden struct_mutex dependency deep within
> > the execbuf bowels! The immediate suspicion in seeing the whitelist
> > cached on the context, is that it is intended to be preserved between
> > batches, as the kernel is quite adept at caching small allocations
> > itself. But no, it's sole purpose is to serialise command submission in
> > order to save a kmalloc on a slow, slow path!
> 
> I needed n+1 cups of coffee for bouncing between this, code and
> the codebase. No harm done unless I start to spam irc in chattyness
> due to overdoze.
> 
> ...when the real tip-off is the patch subject!
> 
> Thanks for explaining it through in irc.
> 
> It is obvious now when one does get it but it wasn't
> before. So please add few lines to the commit message of what
> the excise gives us wrt to future improvements in here.
> 
> something like
> "By removing the whitelest dependancy from context our freedom
> to chop the big mutex is greatly augmented"

Ok.
 
> ..in proper english.

Hah, that was far more eloquent than my usual drivel.
 
> What are your thoughts on using nonatomic bitops?

Fine. Even a hint of concurrent use of the whitelist is a recipe for a
nightmare, so s/set_bit/__set_bit/ is ok.
-Chris
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: [Intel-gfx] [PATCH 1/2] drm/i915/gem: Excise the per-batch whitelist from the context
@ 2019-11-26 11:37     ` Chris Wilson
  0 siblings, 0 replies; 18+ messages in thread
From: Chris Wilson @ 2019-11-26 11:37 UTC (permalink / raw)
  To: Mika Kuoppala, intel-gfx

Quoting Mika Kuoppala (2019-11-26 11:13:27)
> Chris Wilson <chris@chris-wilson.co.uk> writes:
> 
> > One does not lightly add a new hidden struct_mutex dependency deep within
> > the execbuf bowels! The immediate suspicion in seeing the whitelist
> > cached on the context, is that it is intended to be preserved between
> > batches, as the kernel is quite adept at caching small allocations
> > itself. But no, it's sole purpose is to serialise command submission in
> > order to save a kmalloc on a slow, slow path!
> 
> I needed n+1 cups of coffee for bouncing between this, code and
> the codebase. No harm done unless I start to spam irc in chattyness
> due to overdoze.
> 
> ...when the real tip-off is the patch subject!
> 
> Thanks for explaining it through in irc.
> 
> It is obvious now when one does get it but it wasn't
> before. So please add few lines to the commit message of what
> the excise gives us wrt to future improvements in here.
> 
> something like
> "By removing the whitelest dependancy from context our freedom
> to chop the big mutex is greatly augmented"

Ok.
 
> ..in proper english.

Hah, that was far more eloquent than my usual drivel.
 
> What are your thoughts on using nonatomic bitops?

Fine. Even a hint of concurrent use of the whitelist is a recipe for a
nightmare, so s/set_bit/__set_bit/ is ok.
-Chris
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: [PATCH 1/2] drm/i915/gem: Excise the per-batch whitelist from the context
@ 2019-11-26 14:38   ` Joonas Lahtinen
  0 siblings, 0 replies; 18+ messages in thread
From: Joonas Lahtinen @ 2019-11-26 14:38 UTC (permalink / raw)
  To: Chris Wilson, intel-gfx

Quoting Chris Wilson (2019-11-25 17:27:09)
> One does not lightly add a new hidden struct_mutex dependency deep within
> the execbuf bowels! The immediate suspicion in seeing the whitelist
> cached on the context, is that it is intended to be preserved between
> batches, as the kernel is quite adept at caching small allocations
> itself. But no, it's sole purpose is to serialise command submission in
> order to save a kmalloc on a slow, slow path!

When memory pressure increases, it could be the pre-existing clients
that that fail to allocate the jumplist and start failing instead of
the new ones...

But if you think many other places will fall apart before that happens,
feel free to make it dynamic.

Regards, Joonas
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: [Intel-gfx] [PATCH 1/2] drm/i915/gem: Excise the per-batch whitelist from the context
@ 2019-11-26 14:38   ` Joonas Lahtinen
  0 siblings, 0 replies; 18+ messages in thread
From: Joonas Lahtinen @ 2019-11-26 14:38 UTC (permalink / raw)
  To: Chris Wilson, intel-gfx

Quoting Chris Wilson (2019-11-25 17:27:09)
> One does not lightly add a new hidden struct_mutex dependency deep within
> the execbuf bowels! The immediate suspicion in seeing the whitelist
> cached on the context, is that it is intended to be preserved between
> batches, as the kernel is quite adept at caching small allocations
> itself. But no, it's sole purpose is to serialise command submission in
> order to save a kmalloc on a slow, slow path!

When memory pressure increases, it could be the pre-existing clients
that that fail to allocate the jumplist and start failing instead of
the new ones...

But if you think many other places will fall apart before that happens,
feel free to make it dynamic.

Regards, Joonas
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: [PATCH 1/2] drm/i915/gem: Excise the per-batch whitelist from the context
@ 2019-11-26 14:43     ` Chris Wilson
  0 siblings, 0 replies; 18+ messages in thread
From: Chris Wilson @ 2019-11-26 14:43 UTC (permalink / raw)
  To: Joonas Lahtinen, intel-gfx

Quoting Joonas Lahtinen (2019-11-26 14:38:00)
> Quoting Chris Wilson (2019-11-25 17:27:09)
> > One does not lightly add a new hidden struct_mutex dependency deep within
> > the execbuf bowels! The immediate suspicion in seeing the whitelist
> > cached on the context, is that it is intended to be preserved between
> > batches, as the kernel is quite adept at caching small allocations
> > itself. But no, it's sole purpose is to serialise command submission in
> > order to save a kmalloc on a slow, slow path!
> 
> When memory pressure increases, it could be the pre-existing clients
> that that fail to allocate the jumplist and start failing instead of
> the new ones...

Sure, doesn't seem like a big issue since any new allocation (such as a
request!!!) may fail.
 
> But if you think many other places will fall apart before that happens,
> feel free to make it dynamic.

I could also argue that unnecessarily caching whitelists in idle
contexts would lead to more oom :)

There is a case that if the malloc cache is slow, or if we need to
fallback to vmalloc, then we should look at a small local cache (on the
engine?).

The good news is that mesa is complaining about 4.19 hitting ENOMEM with
context-create, so we know that at some point they will complain at any
kmalloc if it fails. (But 4.19 -- why even ask me!!!)
-Chris
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: [Intel-gfx] [PATCH 1/2] drm/i915/gem: Excise the per-batch whitelist from the context
@ 2019-11-26 14:43     ` Chris Wilson
  0 siblings, 0 replies; 18+ messages in thread
From: Chris Wilson @ 2019-11-26 14:43 UTC (permalink / raw)
  To: Joonas Lahtinen, intel-gfx

Quoting Joonas Lahtinen (2019-11-26 14:38:00)
> Quoting Chris Wilson (2019-11-25 17:27:09)
> > One does not lightly add a new hidden struct_mutex dependency deep within
> > the execbuf bowels! The immediate suspicion in seeing the whitelist
> > cached on the context, is that it is intended to be preserved between
> > batches, as the kernel is quite adept at caching small allocations
> > itself. But no, it's sole purpose is to serialise command submission in
> > order to save a kmalloc on a slow, slow path!
> 
> When memory pressure increases, it could be the pre-existing clients
> that that fail to allocate the jumplist and start failing instead of
> the new ones...

Sure, doesn't seem like a big issue since any new allocation (such as a
request!!!) may fail.
 
> But if you think many other places will fall apart before that happens,
> feel free to make it dynamic.

I could also argue that unnecessarily caching whitelists in idle
contexts would lead to more oom :)

There is a case that if the malloc cache is slow, or if we need to
fallback to vmalloc, then we should look at a small local cache (on the
engine?).

The good news is that mesa is complaining about 4.19 hitting ENOMEM with
context-create, so we know that at some point they will complain at any
kmalloc if it fails. (But 4.19 -- why even ask me!!!)
-Chris
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

end of thread, other threads:[~2019-11-26 14:43 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-11-25 15:27 [PATCH 1/2] drm/i915/gem: Excise the per-batch whitelist from the context Chris Wilson
2019-11-25 15:27 ` [Intel-gfx] " Chris Wilson
2019-11-25 15:27 ` [PATCH 2/2] Revert "drm/i915: use a separate context for gpu relocs" Chris Wilson
2019-11-25 15:27   ` [Intel-gfx] " Chris Wilson
2019-11-25 16:34 ` ✗ Fi.CI.CHECKPATCH: warning for series starting with [1/2] drm/i915/gem: Excise the per-batch whitelist from the context Patchwork
2019-11-25 16:34   ` [Intel-gfx] " Patchwork
2019-11-25 16:57 ` ✓ Fi.CI.BAT: success " Patchwork
2019-11-25 16:57   ` [Intel-gfx] " Patchwork
2019-11-26  3:04 ` ✗ Fi.CI.IGT: failure " Patchwork
2019-11-26  3:04   ` [Intel-gfx] " Patchwork
2019-11-26 11:13 ` [PATCH 1/2] " Mika Kuoppala
2019-11-26 11:13   ` [Intel-gfx] " Mika Kuoppala
2019-11-26 11:37   ` Chris Wilson
2019-11-26 11:37     ` [Intel-gfx] " Chris Wilson
2019-11-26 14:38 ` Joonas Lahtinen
2019-11-26 14:38   ` [Intel-gfx] " Joonas Lahtinen
2019-11-26 14:43   ` Chris Wilson
2019-11-26 14:43     ` [Intel-gfx] " Chris Wilson

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.