* [PATCH 1/3] drm/i915: Lift i915_vma_pin() out of intel_renderstate_emit()
@ 2019-12-02 20:43 ` Chris Wilson
0 siblings, 0 replies; 16+ messages in thread
From: Chris Wilson @ 2019-12-02 20:43 UTC (permalink / raw)
To: intel-gfx
Once inside a request, inside the timeline->mutex, pinning is verboten.
<4> [896.032829] ======================================================
<4> [896.032831] WARNING: possible circular locking dependency detected
<4> [896.032835] 5.4.0-rc8-CI-Patchwork_15533+ #1 Tainted: G U
<4> [896.032838] ------------------------------------------------------
<4> [896.032841] gem_exec_parall/3720 is trying to acquire lock:
<4> [896.032844] ffff888401863270 (&kernel#2){+.+.}, at: i915_request_create+0x16/0x1c0 [i915]
<4> [896.032915]
but task is already holding lock:
<4> [896.032917] ffff8883ec1c93c0 (&vm->mutex){+.+.}, at: i915_vma_pin+0xf3/0x11c0 [i915]
<4> [896.032952]
which lock already depends on the new lock.
<4> [896.032954]
the existing dependency chain (in reverse order) is:
<4> [896.032956]
-> #1 (&vm->mutex){+.+.}:
<4> [896.032961] __mutex_lock+0x9a/0x9d0
<4> [896.032995] i915_vma_pin+0xf3/0x11c0 [i915]
<4> [896.033033] intel_renderstate_emit+0xb9/0x9e0 [i915]
<4> [896.033081] i915_gem_init+0x5a9/0xa50 [i915]
<4> [896.033112] i915_driver_probe+0xb00/0x15f0 [i915]
<4> [896.033144] i915_pci_probe+0x43/0x1c0 [i915]
<4> [896.033149] pci_device_probe+0x9e/0x120
<4> [896.033154] really_probe+0xea/0x420
<4> [896.033158] driver_probe_device+0x10b/0x120
<4> [896.033161] device_driver_attach+0x4a/0x50
<4> [896.033164] __driver_attach+0x97/0x130
<4> [896.033168] bus_for_each_dev+0x74/0xc0
<4> [896.033171] bus_add_driver+0x142/0x220
<4> [896.033174] driver_register+0x56/0xf0
<4> [896.033178] do_one_initcall+0x58/0x2ff
<4> [896.033183] do_init_module+0x56/0x1f8
<4> [896.033187] load_module+0x243e/0x29f0
<4> [896.033190] __do_sys_finit_module+0xe9/0x110
<4> [896.033194] do_syscall_64+0x4f/0x210
<4> [896.033197] entry_SYSCALL_64_after_hwframe+0x49/0xbe
<4> [896.033200]
-> #0 (&kernel#2){+.+.}:
<4> [896.033206] __lock_acquire+0x1328/0x15d0
<4> [896.033209] lock_acquire+0xa7/0x1c0
<4> [896.033213] __mutex_lock+0x9a/0x9d0
<4> [896.033255] i915_request_create+0x16/0x1c0 [i915]
<4> [896.033287] intel_engine_flush_barriers+0x4c/0x100 [i915]
<4> [896.033327] ggtt_flush+0x37/0x60 [i915]
<4> [896.033366] i915_gem_evict_something+0x46b/0x5a0 [i915]
<4> [896.033407] i915_gem_gtt_insert+0x21d/0x6a0 [i915]
<4> [896.033449] i915_vma_pin+0xb36/0x11c0 [i915]
<4> [896.033488] gen6_ppgtt_pin+0xd5/0x170 [i915]
<4> [896.033523] ring_context_pin+0x2e/0xc0 [i915]
<4> [896.033554] __intel_context_do_pin+0x6b/0x190 [i915]
<4> [896.033591] i915_gem_do_execbuffer+0x1814/0x26c0 [i915]
<4> [896.033627] i915_gem_execbuffer2_ioctl+0x11b/0x460 [i915]
<4> [896.033632] drm_ioctl_kernel+0xa7/0xf0
<4> [896.033635] drm_ioctl+0x2e1/0x390
<4> [896.033638] do_vfs_ioctl+0xa0/0x6f0
<4> [896.033641] ksys_ioctl+0x35/0x60
<4> [896.033644] __x64_sys_ioctl+0x11/0x20
<4> [896.033647] do_syscall_64+0x4f/0x210
<4> [896.033650] entry_SYSCALL_64_after_hwframe+0x49/0xbe
Lift the object allocation and pin prior to the request construction.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
---
drivers/gpu/drm/i915/gt/intel_renderstate.c | 97 ++++++++++++---------
drivers/gpu/drm/i915/gt/intel_renderstate.h | 17 +++-
drivers/gpu/drm/i915/i915_gem.c | 8 +-
3 files changed, 78 insertions(+), 44 deletions(-)
diff --git a/drivers/gpu/drm/i915/gt/intel_renderstate.c b/drivers/gpu/drm/i915/gt/intel_renderstate.c
index c4edc35e7d89..5954ecc3207f 100644
--- a/drivers/gpu/drm/i915/gt/intel_renderstate.c
+++ b/drivers/gpu/drm/i915/gt/intel_renderstate.c
@@ -29,16 +29,6 @@
#include "intel_renderstate.h"
#include "intel_ring.h"
-struct intel_renderstate {
- const struct intel_renderstate_rodata *rodata;
- struct drm_i915_gem_object *obj;
- struct i915_vma *vma;
- u32 batch_offset;
- u32 batch_size;
- u32 aux_offset;
- u32 aux_size;
-};
-
static const struct intel_renderstate_rodata *
render_state_get_rodata(const struct intel_engine_cs *engine)
{
@@ -84,11 +74,11 @@ static int render_state_setup(struct intel_renderstate *so,
u32 *d;
int ret;
- ret = i915_gem_object_prepare_write(so->obj, &needs_clflush);
+ ret = i915_gem_object_prepare_write(so->vma->obj, &needs_clflush);
if (ret)
return ret;
- d = kmap_atomic(i915_gem_object_get_dirty_page(so->obj, 0));
+ d = kmap_atomic(i915_gem_object_get_dirty_page(so->vma->obj, 0));
while (i < rodata->batch_items) {
u32 s = rodata->batch[i];
@@ -166,7 +156,7 @@ static int render_state_setup(struct intel_renderstate *so,
ret = 0;
out:
- i915_gem_object_finish_access(so->obj);
+ i915_gem_object_finish_access(so->vma->obj);
return ret;
err:
@@ -177,61 +167,84 @@ static int render_state_setup(struct intel_renderstate *so,
#undef OUT_BATCH
-int intel_renderstate_emit(struct i915_request *rq)
+int intel_renderstate_init(struct intel_renderstate *so,
+ struct intel_engine_cs *engine)
{
- struct intel_engine_cs *engine = rq->engine;
- struct intel_renderstate so = {}; /* keep the compiler happy */
+ struct drm_i915_gem_object *obj;
int err;
- so.rodata = render_state_get_rodata(engine);
- if (!so.rodata)
+ memset(so, 0, sizeof(*so));
+
+ so->rodata = render_state_get_rodata(engine);
+ if (!so->rodata)
return 0;
- if (so.rodata->batch_items * 4 > PAGE_SIZE)
+ if (so->rodata->batch_items * 4 > PAGE_SIZE)
return -EINVAL;
- so.obj = i915_gem_object_create_internal(engine->i915, PAGE_SIZE);
- if (IS_ERR(so.obj))
- return PTR_ERR(so.obj);
+ obj = i915_gem_object_create_internal(engine->i915, PAGE_SIZE);
+ if (IS_ERR(obj))
+ return PTR_ERR(obj);
- so.vma = i915_vma_instance(so.obj, &engine->gt->ggtt->vm, NULL);
- if (IS_ERR(so.vma)) {
- err = PTR_ERR(so.vma);
+ so->vma = i915_vma_instance(obj, &engine->gt->ggtt->vm, NULL);
+ if (IS_ERR(so->vma)) {
+ err = PTR_ERR(so->vma);
goto err_obj;
}
- err = i915_vma_pin(so.vma, 0, 0, PIN_GLOBAL | PIN_HIGH);
+ err = i915_vma_pin(so->vma, 0, 0, PIN_GLOBAL | PIN_HIGH);
if (err)
goto err_vma;
- err = render_state_setup(&so, rq->i915);
+ err = render_state_setup(so, engine->i915);
if (err)
goto err_unpin;
+ return 0;
+
+err_unpin:
+ i915_vma_unpin(so->vma);
+err_vma:
+ i915_vma_close(so->vma);
+err_obj:
+ i915_gem_object_put(obj);
+ so->vma = NULL;
+ return err;
+}
+
+int intel_renderstate_emit(struct intel_renderstate *so,
+ struct i915_request *rq)
+{
+ struct intel_engine_cs *engine = rq->engine;
+ int err;
+
+ if (!so->vma)
+ return 0;
+
err = engine->emit_bb_start(rq,
- so.batch_offset, so.batch_size,
+ so->batch_offset, so->batch_size,
I915_DISPATCH_SECURE);
if (err)
- goto err_unpin;
+ return err;
- if (so.aux_size > 8) {
+ if (so->aux_size > 8) {
err = engine->emit_bb_start(rq,
- so.aux_offset, so.aux_size,
+ so->aux_offset, so->aux_size,
I915_DISPATCH_SECURE);
if (err)
- goto err_unpin;
+ return err;
}
- i915_vma_lock(so.vma);
- err = i915_request_await_object(rq, so.vma->obj, false);
+ i915_vma_lock(so->vma);
+ err = i915_request_await_object(rq, so->vma->obj, false);
if (err == 0)
- err = i915_vma_move_to_active(so.vma, rq, 0);
- i915_vma_unlock(so.vma);
-err_unpin:
- i915_vma_unpin(so.vma);
-err_vma:
- i915_vma_close(so.vma);
-err_obj:
- i915_gem_object_put(so.obj);
+ err = i915_vma_move_to_active(so->vma, rq, 0);
+ i915_vma_unlock(so->vma);
+
return err;
}
+
+void intel_renderstate_fini(struct intel_renderstate *so)
+{
+ i915_vma_unpin_and_release(&so->vma, 0);
+}
diff --git a/drivers/gpu/drm/i915/gt/intel_renderstate.h b/drivers/gpu/drm/i915/gt/intel_renderstate.h
index 8d5079145054..5700be69a05a 100644
--- a/drivers/gpu/drm/i915/gt/intel_renderstate.h
+++ b/drivers/gpu/drm/i915/gt/intel_renderstate.h
@@ -27,6 +27,8 @@
#include <linux/types.h>
struct i915_request;
+struct intel_engine_cs;
+struct i915_vma;
struct intel_renderstate_rodata {
const u32 *reloc;
@@ -46,6 +48,19 @@ extern const struct intel_renderstate_rodata gen7_null_state;
extern const struct intel_renderstate_rodata gen8_null_state;
extern const struct intel_renderstate_rodata gen9_null_state;
-int intel_renderstate_emit(struct i915_request *rq);
+struct intel_renderstate {
+ const struct intel_renderstate_rodata *rodata;
+ struct i915_vma *vma;
+ u32 batch_offset;
+ u32 batch_size;
+ u32 aux_offset;
+ u32 aux_size;
+};
+
+int intel_renderstate_init(struct intel_renderstate *so,
+ struct intel_engine_cs *engine);
+int intel_renderstate_emit(struct intel_renderstate *so,
+ struct i915_request *rq);
+void intel_renderstate_fini(struct intel_renderstate *so);
#endif /* _INTEL_RENDERSTATE_H_ */
diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
index 61395b03443e..d2c2d66bb5f2 100644
--- a/drivers/gpu/drm/i915/i915_gem.c
+++ b/drivers/gpu/drm/i915/i915_gem.c
@@ -1071,9 +1071,14 @@ static int __intel_engines_record_defaults(struct intel_gt *gt)
*/
for_each_engine(engine, gt, id) {
+ struct intel_renderstate so;
struct intel_context *ce;
struct i915_request *rq;
+ err = intel_renderstate_init(&so, engine);
+ if (err)
+ goto out;
+
/* We must be able to switch to something! */
GEM_BUG_ON(!engine->kernel_context);
engine->serial++; /* force the kernel context switch */
@@ -1096,13 +1101,14 @@ static int __intel_engines_record_defaults(struct intel_gt *gt)
if (err)
goto err_rq;
- err = intel_renderstate_emit(rq);
+ err = intel_renderstate_emit(&so, rq);
if (err)
goto err_rq;
err_rq:
requests[id] = i915_request_get(rq);
i915_request_add(rq);
+ intel_renderstate_fini(&so);
if (err)
goto out;
}
--
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] 16+ messages in thread* [Intel-gfx] [PATCH 1/3] drm/i915: Lift i915_vma_pin() out of intel_renderstate_emit() @ 2019-12-02 20:43 ` Chris Wilson 0 siblings, 0 replies; 16+ messages in thread From: Chris Wilson @ 2019-12-02 20:43 UTC (permalink / raw) To: intel-gfx Once inside a request, inside the timeline->mutex, pinning is verboten. <4> [896.032829] ====================================================== <4> [896.032831] WARNING: possible circular locking dependency detected <4> [896.032835] 5.4.0-rc8-CI-Patchwork_15533+ #1 Tainted: G U <4> [896.032838] ------------------------------------------------------ <4> [896.032841] gem_exec_parall/3720 is trying to acquire lock: <4> [896.032844] ffff888401863270 (&kernel#2){+.+.}, at: i915_request_create+0x16/0x1c0 [i915] <4> [896.032915] but task is already holding lock: <4> [896.032917] ffff8883ec1c93c0 (&vm->mutex){+.+.}, at: i915_vma_pin+0xf3/0x11c0 [i915] <4> [896.032952] which lock already depends on the new lock. <4> [896.032954] the existing dependency chain (in reverse order) is: <4> [896.032956] -> #1 (&vm->mutex){+.+.}: <4> [896.032961] __mutex_lock+0x9a/0x9d0 <4> [896.032995] i915_vma_pin+0xf3/0x11c0 [i915] <4> [896.033033] intel_renderstate_emit+0xb9/0x9e0 [i915] <4> [896.033081] i915_gem_init+0x5a9/0xa50 [i915] <4> [896.033112] i915_driver_probe+0xb00/0x15f0 [i915] <4> [896.033144] i915_pci_probe+0x43/0x1c0 [i915] <4> [896.033149] pci_device_probe+0x9e/0x120 <4> [896.033154] really_probe+0xea/0x420 <4> [896.033158] driver_probe_device+0x10b/0x120 <4> [896.033161] device_driver_attach+0x4a/0x50 <4> [896.033164] __driver_attach+0x97/0x130 <4> [896.033168] bus_for_each_dev+0x74/0xc0 <4> [896.033171] bus_add_driver+0x142/0x220 <4> [896.033174] driver_register+0x56/0xf0 <4> [896.033178] do_one_initcall+0x58/0x2ff <4> [896.033183] do_init_module+0x56/0x1f8 <4> [896.033187] load_module+0x243e/0x29f0 <4> [896.033190] __do_sys_finit_module+0xe9/0x110 <4> [896.033194] do_syscall_64+0x4f/0x210 <4> [896.033197] entry_SYSCALL_64_after_hwframe+0x49/0xbe <4> [896.033200] -> #0 (&kernel#2){+.+.}: <4> [896.033206] __lock_acquire+0x1328/0x15d0 <4> [896.033209] lock_acquire+0xa7/0x1c0 <4> [896.033213] __mutex_lock+0x9a/0x9d0 <4> [896.033255] i915_request_create+0x16/0x1c0 [i915] <4> [896.033287] intel_engine_flush_barriers+0x4c/0x100 [i915] <4> [896.033327] ggtt_flush+0x37/0x60 [i915] <4> [896.033366] i915_gem_evict_something+0x46b/0x5a0 [i915] <4> [896.033407] i915_gem_gtt_insert+0x21d/0x6a0 [i915] <4> [896.033449] i915_vma_pin+0xb36/0x11c0 [i915] <4> [896.033488] gen6_ppgtt_pin+0xd5/0x170 [i915] <4> [896.033523] ring_context_pin+0x2e/0xc0 [i915] <4> [896.033554] __intel_context_do_pin+0x6b/0x190 [i915] <4> [896.033591] i915_gem_do_execbuffer+0x1814/0x26c0 [i915] <4> [896.033627] i915_gem_execbuffer2_ioctl+0x11b/0x460 [i915] <4> [896.033632] drm_ioctl_kernel+0xa7/0xf0 <4> [896.033635] drm_ioctl+0x2e1/0x390 <4> [896.033638] do_vfs_ioctl+0xa0/0x6f0 <4> [896.033641] ksys_ioctl+0x35/0x60 <4> [896.033644] __x64_sys_ioctl+0x11/0x20 <4> [896.033647] do_syscall_64+0x4f/0x210 <4> [896.033650] entry_SYSCALL_64_after_hwframe+0x49/0xbe Lift the object allocation and pin prior to the request construction. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> --- drivers/gpu/drm/i915/gt/intel_renderstate.c | 97 ++++++++++++--------- drivers/gpu/drm/i915/gt/intel_renderstate.h | 17 +++- drivers/gpu/drm/i915/i915_gem.c | 8 +- 3 files changed, 78 insertions(+), 44 deletions(-) diff --git a/drivers/gpu/drm/i915/gt/intel_renderstate.c b/drivers/gpu/drm/i915/gt/intel_renderstate.c index c4edc35e7d89..5954ecc3207f 100644 --- a/drivers/gpu/drm/i915/gt/intel_renderstate.c +++ b/drivers/gpu/drm/i915/gt/intel_renderstate.c @@ -29,16 +29,6 @@ #include "intel_renderstate.h" #include "intel_ring.h" -struct intel_renderstate { - const struct intel_renderstate_rodata *rodata; - struct drm_i915_gem_object *obj; - struct i915_vma *vma; - u32 batch_offset; - u32 batch_size; - u32 aux_offset; - u32 aux_size; -}; - static const struct intel_renderstate_rodata * render_state_get_rodata(const struct intel_engine_cs *engine) { @@ -84,11 +74,11 @@ static int render_state_setup(struct intel_renderstate *so, u32 *d; int ret; - ret = i915_gem_object_prepare_write(so->obj, &needs_clflush); + ret = i915_gem_object_prepare_write(so->vma->obj, &needs_clflush); if (ret) return ret; - d = kmap_atomic(i915_gem_object_get_dirty_page(so->obj, 0)); + d = kmap_atomic(i915_gem_object_get_dirty_page(so->vma->obj, 0)); while (i < rodata->batch_items) { u32 s = rodata->batch[i]; @@ -166,7 +156,7 @@ static int render_state_setup(struct intel_renderstate *so, ret = 0; out: - i915_gem_object_finish_access(so->obj); + i915_gem_object_finish_access(so->vma->obj); return ret; err: @@ -177,61 +167,84 @@ static int render_state_setup(struct intel_renderstate *so, #undef OUT_BATCH -int intel_renderstate_emit(struct i915_request *rq) +int intel_renderstate_init(struct intel_renderstate *so, + struct intel_engine_cs *engine) { - struct intel_engine_cs *engine = rq->engine; - struct intel_renderstate so = {}; /* keep the compiler happy */ + struct drm_i915_gem_object *obj; int err; - so.rodata = render_state_get_rodata(engine); - if (!so.rodata) + memset(so, 0, sizeof(*so)); + + so->rodata = render_state_get_rodata(engine); + if (!so->rodata) return 0; - if (so.rodata->batch_items * 4 > PAGE_SIZE) + if (so->rodata->batch_items * 4 > PAGE_SIZE) return -EINVAL; - so.obj = i915_gem_object_create_internal(engine->i915, PAGE_SIZE); - if (IS_ERR(so.obj)) - return PTR_ERR(so.obj); + obj = i915_gem_object_create_internal(engine->i915, PAGE_SIZE); + if (IS_ERR(obj)) + return PTR_ERR(obj); - so.vma = i915_vma_instance(so.obj, &engine->gt->ggtt->vm, NULL); - if (IS_ERR(so.vma)) { - err = PTR_ERR(so.vma); + so->vma = i915_vma_instance(obj, &engine->gt->ggtt->vm, NULL); + if (IS_ERR(so->vma)) { + err = PTR_ERR(so->vma); goto err_obj; } - err = i915_vma_pin(so.vma, 0, 0, PIN_GLOBAL | PIN_HIGH); + err = i915_vma_pin(so->vma, 0, 0, PIN_GLOBAL | PIN_HIGH); if (err) goto err_vma; - err = render_state_setup(&so, rq->i915); + err = render_state_setup(so, engine->i915); if (err) goto err_unpin; + return 0; + +err_unpin: + i915_vma_unpin(so->vma); +err_vma: + i915_vma_close(so->vma); +err_obj: + i915_gem_object_put(obj); + so->vma = NULL; + return err; +} + +int intel_renderstate_emit(struct intel_renderstate *so, + struct i915_request *rq) +{ + struct intel_engine_cs *engine = rq->engine; + int err; + + if (!so->vma) + return 0; + err = engine->emit_bb_start(rq, - so.batch_offset, so.batch_size, + so->batch_offset, so->batch_size, I915_DISPATCH_SECURE); if (err) - goto err_unpin; + return err; - if (so.aux_size > 8) { + if (so->aux_size > 8) { err = engine->emit_bb_start(rq, - so.aux_offset, so.aux_size, + so->aux_offset, so->aux_size, I915_DISPATCH_SECURE); if (err) - goto err_unpin; + return err; } - i915_vma_lock(so.vma); - err = i915_request_await_object(rq, so.vma->obj, false); + i915_vma_lock(so->vma); + err = i915_request_await_object(rq, so->vma->obj, false); if (err == 0) - err = i915_vma_move_to_active(so.vma, rq, 0); - i915_vma_unlock(so.vma); -err_unpin: - i915_vma_unpin(so.vma); -err_vma: - i915_vma_close(so.vma); -err_obj: - i915_gem_object_put(so.obj); + err = i915_vma_move_to_active(so->vma, rq, 0); + i915_vma_unlock(so->vma); + return err; } + +void intel_renderstate_fini(struct intel_renderstate *so) +{ + i915_vma_unpin_and_release(&so->vma, 0); +} diff --git a/drivers/gpu/drm/i915/gt/intel_renderstate.h b/drivers/gpu/drm/i915/gt/intel_renderstate.h index 8d5079145054..5700be69a05a 100644 --- a/drivers/gpu/drm/i915/gt/intel_renderstate.h +++ b/drivers/gpu/drm/i915/gt/intel_renderstate.h @@ -27,6 +27,8 @@ #include <linux/types.h> struct i915_request; +struct intel_engine_cs; +struct i915_vma; struct intel_renderstate_rodata { const u32 *reloc; @@ -46,6 +48,19 @@ extern const struct intel_renderstate_rodata gen7_null_state; extern const struct intel_renderstate_rodata gen8_null_state; extern const struct intel_renderstate_rodata gen9_null_state; -int intel_renderstate_emit(struct i915_request *rq); +struct intel_renderstate { + const struct intel_renderstate_rodata *rodata; + struct i915_vma *vma; + u32 batch_offset; + u32 batch_size; + u32 aux_offset; + u32 aux_size; +}; + +int intel_renderstate_init(struct intel_renderstate *so, + struct intel_engine_cs *engine); +int intel_renderstate_emit(struct intel_renderstate *so, + struct i915_request *rq); +void intel_renderstate_fini(struct intel_renderstate *so); #endif /* _INTEL_RENDERSTATE_H_ */ diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c index 61395b03443e..d2c2d66bb5f2 100644 --- a/drivers/gpu/drm/i915/i915_gem.c +++ b/drivers/gpu/drm/i915/i915_gem.c @@ -1071,9 +1071,14 @@ static int __intel_engines_record_defaults(struct intel_gt *gt) */ for_each_engine(engine, gt, id) { + struct intel_renderstate so; struct intel_context *ce; struct i915_request *rq; + err = intel_renderstate_init(&so, engine); + if (err) + goto out; + /* We must be able to switch to something! */ GEM_BUG_ON(!engine->kernel_context); engine->serial++; /* force the kernel context switch */ @@ -1096,13 +1101,14 @@ static int __intel_engines_record_defaults(struct intel_gt *gt) if (err) goto err_rq; - err = intel_renderstate_emit(rq); + err = intel_renderstate_emit(&so, rq); if (err) goto err_rq; err_rq: requests[id] = i915_request_get(rq); i915_request_add(rq); + intel_renderstate_fini(&so); if (err) goto out; } -- 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] 16+ messages in thread
* [PATCH 2/3] drm/i915: Ignore most failures during evict-vm @ 2019-12-02 20:43 ` Chris Wilson 0 siblings, 0 replies; 16+ messages in thread From: Chris Wilson @ 2019-12-02 20:43 UTC (permalink / raw) To: intel-gfx Removing all vma from the VM is best effort -- we only remove all those ready to be removed, so forgive and VMA that becomes pinned. While forgiving those that become pinned, also take a second look for any that became unpinned as we waited. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> --- drivers/gpu/drm/i915/i915_gem_evict.c | 39 ++++++++++++++++----------- 1 file changed, 23 insertions(+), 16 deletions(-) diff --git a/drivers/gpu/drm/i915/i915_gem_evict.c b/drivers/gpu/drm/i915/i915_gem_evict.c index 7e62c310290f..0697bedebeef 100644 --- a/drivers/gpu/drm/i915/i915_gem_evict.c +++ b/drivers/gpu/drm/i915/i915_gem_evict.c @@ -359,9 +359,7 @@ int i915_gem_evict_for_node(struct i915_address_space *vm, */ int i915_gem_evict_vm(struct i915_address_space *vm) { - struct list_head eviction_list; - struct i915_vma *vma, *next; - int ret; + int ret = 0; lockdep_assert_held(&vm->mutex); trace_i915_gem_evict_vm(vm); @@ -377,21 +375,30 @@ int i915_gem_evict_vm(struct i915_address_space *vm) return ret; } - INIT_LIST_HEAD(&eviction_list); - list_for_each_entry(vma, &vm->bound_list, vm_link) { - if (i915_vma_is_pinned(vma)) - continue; + do { + struct i915_vma *vma, *vn; + LIST_HEAD(eviction_list); - __i915_vma_pin(vma); - list_add(&vma->evict_link, &eviction_list); - } + list_for_each_entry(vma, &vm->bound_list, vm_link) { + if (i915_vma_is_pinned(vma)) + continue; + + __i915_vma_pin(vma); + list_add(&vma->evict_link, &eviction_list); + } + if (list_empty(&eviction_list)) + break; + + ret = 0; + list_for_each_entry_safe(vma, vn, &eviction_list, evict_link) { + __i915_vma_unpin(vma); + if (ret == 0) + ret = __i915_vma_unbind(vma); + if (ret != -EINTR) /* "Get me out of here!" */ + ret = 0; + } + } while (ret == 0); - ret = 0; - list_for_each_entry_safe(vma, next, &eviction_list, evict_link) { - __i915_vma_unpin(vma); - if (ret == 0) - ret = __i915_vma_unbind(vma); - } 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] 16+ messages in thread
* [Intel-gfx] [PATCH 2/3] drm/i915: Ignore most failures during evict-vm @ 2019-12-02 20:43 ` Chris Wilson 0 siblings, 0 replies; 16+ messages in thread From: Chris Wilson @ 2019-12-02 20:43 UTC (permalink / raw) To: intel-gfx Removing all vma from the VM is best effort -- we only remove all those ready to be removed, so forgive and VMA that becomes pinned. While forgiving those that become pinned, also take a second look for any that became unpinned as we waited. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> --- drivers/gpu/drm/i915/i915_gem_evict.c | 39 ++++++++++++++++----------- 1 file changed, 23 insertions(+), 16 deletions(-) diff --git a/drivers/gpu/drm/i915/i915_gem_evict.c b/drivers/gpu/drm/i915/i915_gem_evict.c index 7e62c310290f..0697bedebeef 100644 --- a/drivers/gpu/drm/i915/i915_gem_evict.c +++ b/drivers/gpu/drm/i915/i915_gem_evict.c @@ -359,9 +359,7 @@ int i915_gem_evict_for_node(struct i915_address_space *vm, */ int i915_gem_evict_vm(struct i915_address_space *vm) { - struct list_head eviction_list; - struct i915_vma *vma, *next; - int ret; + int ret = 0; lockdep_assert_held(&vm->mutex); trace_i915_gem_evict_vm(vm); @@ -377,21 +375,30 @@ int i915_gem_evict_vm(struct i915_address_space *vm) return ret; } - INIT_LIST_HEAD(&eviction_list); - list_for_each_entry(vma, &vm->bound_list, vm_link) { - if (i915_vma_is_pinned(vma)) - continue; + do { + struct i915_vma *vma, *vn; + LIST_HEAD(eviction_list); - __i915_vma_pin(vma); - list_add(&vma->evict_link, &eviction_list); - } + list_for_each_entry(vma, &vm->bound_list, vm_link) { + if (i915_vma_is_pinned(vma)) + continue; + + __i915_vma_pin(vma); + list_add(&vma->evict_link, &eviction_list); + } + if (list_empty(&eviction_list)) + break; + + ret = 0; + list_for_each_entry_safe(vma, vn, &eviction_list, evict_link) { + __i915_vma_unpin(vma); + if (ret == 0) + ret = __i915_vma_unbind(vma); + if (ret != -EINTR) /* "Get me out of here!" */ + ret = 0; + } + } while (ret == 0); - ret = 0; - list_for_each_entry_safe(vma, next, &eviction_list, evict_link) { - __i915_vma_unpin(vma); - if (ret == 0) - ret = __i915_vma_unbind(vma); - } 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] 16+ messages in thread
* [PATCH 3/3] drm/i915: Try hard to bind the context @ 2019-12-02 20:43 ` Chris Wilson 0 siblings, 0 replies; 16+ messages in thread From: Chris Wilson @ 2019-12-02 20:43 UTC (permalink / raw) To: intel-gfx It is not acceptable for context pinning to fail with -ENOSPC as we should always be able to make space in the GGTT. The only reason we may fail is that other "temporary" context pins are reserving their space and we need to wait for an available slot. Closes: https://gitlab.freedesktop.org/drm/intel/issues/676 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> --- drivers/gpu/drm/i915/i915_gem_gtt.c | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c index 10b3d6d44045..7e20c6f62cd5 100644 --- a/drivers/gpu/drm/i915/i915_gem_gtt.c +++ b/drivers/gpu/drm/i915/i915_gem_gtt.c @@ -1934,9 +1934,24 @@ int gen6_ppgtt_pin(struct i915_ppgtt *base) * size. We allocate at the top of the GTT to avoid fragmentation. */ if (!atomic_read(&ppgtt->pin_count)) { - err = i915_vma_pin(ppgtt->vma, - 0, GEN6_PD_ALIGN, - PIN_GLOBAL | PIN_HIGH); + do { + struct i915_address_space *vm = ppgtt->vma->vm; + + err = i915_vma_pin(ppgtt->vma, + 0, GEN6_PD_ALIGN, + PIN_GLOBAL | PIN_HIGH); + if (err != -ENOSPC) + break; + + /* We don't take no for an answer! */ + err = mutex_lock_interruptible(&vm->mutex); + if (err == 0) { + err = i915_gem_evict_vm(vm); + mutex_unlock(&vm->mutex); + } + if (err) + break; + } while (1); } if (!err) atomic_inc(&ppgtt->pin_count); -- 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] 16+ messages in thread
* [Intel-gfx] [PATCH 3/3] drm/i915: Try hard to bind the context @ 2019-12-02 20:43 ` Chris Wilson 0 siblings, 0 replies; 16+ messages in thread From: Chris Wilson @ 2019-12-02 20:43 UTC (permalink / raw) To: intel-gfx It is not acceptable for context pinning to fail with -ENOSPC as we should always be able to make space in the GGTT. The only reason we may fail is that other "temporary" context pins are reserving their space and we need to wait for an available slot. Closes: https://gitlab.freedesktop.org/drm/intel/issues/676 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> --- drivers/gpu/drm/i915/i915_gem_gtt.c | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c index 10b3d6d44045..7e20c6f62cd5 100644 --- a/drivers/gpu/drm/i915/i915_gem_gtt.c +++ b/drivers/gpu/drm/i915/i915_gem_gtt.c @@ -1934,9 +1934,24 @@ int gen6_ppgtt_pin(struct i915_ppgtt *base) * size. We allocate at the top of the GTT to avoid fragmentation. */ if (!atomic_read(&ppgtt->pin_count)) { - err = i915_vma_pin(ppgtt->vma, - 0, GEN6_PD_ALIGN, - PIN_GLOBAL | PIN_HIGH); + do { + struct i915_address_space *vm = ppgtt->vma->vm; + + err = i915_vma_pin(ppgtt->vma, + 0, GEN6_PD_ALIGN, + PIN_GLOBAL | PIN_HIGH); + if (err != -ENOSPC) + break; + + /* We don't take no for an answer! */ + err = mutex_lock_interruptible(&vm->mutex); + if (err == 0) { + err = i915_gem_evict_vm(vm); + mutex_unlock(&vm->mutex); + } + if (err) + break; + } while (1); } if (!err) atomic_inc(&ppgtt->pin_count); -- 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] 16+ messages in thread
* Re: [Intel-gfx] [PATCH 3/3] drm/i915: Try hard to bind the context 2019-12-02 20:43 ` [Intel-gfx] " Chris Wilson (?) @ 2019-12-03 13:24 ` Mika Kuoppala 2019-12-03 13:28 ` Chris Wilson -1 siblings, 1 reply; 16+ messages in thread From: Mika Kuoppala @ 2019-12-03 13:24 UTC (permalink / raw) To: Chris Wilson, intel-gfx Chris Wilson <chris@chris-wilson.co.uk> writes: > It is not acceptable for context pinning to fail with -ENOSPC as we > should always be able to make space in the GGTT. The only reason we may > fail is that other "temporary" context pins are reserving their space > and we need to wait for an available slot. > > Closes: https://gitlab.freedesktop.org/drm/intel/issues/676 > Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> > --- > drivers/gpu/drm/i915/i915_gem_gtt.c | 21 ++++++++++++++++++--- > 1 file changed, 18 insertions(+), 3 deletions(-) > > diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c > index 10b3d6d44045..7e20c6f62cd5 100644 > --- a/drivers/gpu/drm/i915/i915_gem_gtt.c > +++ b/drivers/gpu/drm/i915/i915_gem_gtt.c > @@ -1934,9 +1934,24 @@ int gen6_ppgtt_pin(struct i915_ppgtt *base) > * size. We allocate at the top of the GTT to avoid fragmentation. > */ > if (!atomic_read(&ppgtt->pin_count)) { > - err = i915_vma_pin(ppgtt->vma, > - 0, GEN6_PD_ALIGN, > - PIN_GLOBAL | PIN_HIGH); > + do { > + struct i915_address_space *vm = ppgtt->vma->vm; > + > + err = i915_vma_pin(ppgtt->vma, > + 0, GEN6_PD_ALIGN, > + PIN_GLOBAL | PIN_HIGH); > + if (err != -ENOSPC) > + break; > + > + /* We don't take no for an answer! */ > + err = mutex_lock_interruptible(&vm->mutex); > + if (err == 0) { > + err = i915_gem_evict_vm(vm); Why would we hold any significant amount of vmas? I thought we need to kick the ggtt hard in order for this to fit in. -Mika > + mutex_unlock(&vm->mutex); > + } > + if (err) > + break; > + } while (1); > } > if (!err) > atomic_inc(&ppgtt->pin_count); > -- > 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] 16+ messages in thread
* Re: [Intel-gfx] [PATCH 3/3] drm/i915: Try hard to bind the context 2019-12-03 13:24 ` Mika Kuoppala @ 2019-12-03 13:28 ` Chris Wilson 0 siblings, 0 replies; 16+ messages in thread From: Chris Wilson @ 2019-12-03 13:28 UTC (permalink / raw) To: Mika Kuoppala, intel-gfx Quoting Mika Kuoppala (2019-12-03 13:24:03) > Chris Wilson <chris@chris-wilson.co.uk> writes: > > > It is not acceptable for context pinning to fail with -ENOSPC as we > > should always be able to make space in the GGTT. The only reason we may > > fail is that other "temporary" context pins are reserving their space > > and we need to wait for an available slot. > > > > Closes: https://gitlab.freedesktop.org/drm/intel/issues/676 > > Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> > > --- > > drivers/gpu/drm/i915/i915_gem_gtt.c | 21 ++++++++++++++++++--- > > 1 file changed, 18 insertions(+), 3 deletions(-) > > > > diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c > > index 10b3d6d44045..7e20c6f62cd5 100644 > > --- a/drivers/gpu/drm/i915/i915_gem_gtt.c > > +++ b/drivers/gpu/drm/i915/i915_gem_gtt.c > > @@ -1934,9 +1934,24 @@ int gen6_ppgtt_pin(struct i915_ppgtt *base) > > * size. We allocate at the top of the GTT to avoid fragmentation. > > */ > > if (!atomic_read(&ppgtt->pin_count)) { > > - err = i915_vma_pin(ppgtt->vma, > > - 0, GEN6_PD_ALIGN, > > - PIN_GLOBAL | PIN_HIGH); > > + do { > > + struct i915_address_space *vm = ppgtt->vma->vm; > > + > > + err = i915_vma_pin(ppgtt->vma, > > + 0, GEN6_PD_ALIGN, > > + PIN_GLOBAL | PIN_HIGH); > > + if (err != -ENOSPC) > > + break; > > + > > + /* We don't take no for an answer! */ > > + err = mutex_lock_interruptible(&vm->mutex); > > + if (err == 0) { > > + err = i915_gem_evict_vm(vm); > > Why would we hold any significant amount of vmas? > I thought we need to kick the ggtt hard in order for this > to fit in. Inflight contexts will be pinned occupying that space until they are flushed. We used to track context activity so we could explicitly wait on pinned contexts, but we had to forgo that in order to randomly reordered execution (guc). The challenge is that evict-something can not always succeed by itself in unpinning those contexts, so we need to kick again. In the future, pipelined evictions... The future is complicated. -Chris _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 16+ messages in thread
* ✗ Fi.CI.CHECKPATCH: warning for series starting with [1/3] drm/i915: Lift i915_vma_pin() out of intel_renderstate_emit() @ 2019-12-02 21:39 ` Patchwork 0 siblings, 0 replies; 16+ messages in thread From: Patchwork @ 2019-12-02 21:39 UTC (permalink / raw) To: Chris Wilson; +Cc: intel-gfx == Series Details == Series: series starting with [1/3] drm/i915: Lift i915_vma_pin() out of intel_renderstate_emit() URL : https://patchwork.freedesktop.org/series/70315/ State : warning == Summary == $ dim checkpatch origin/drm-tip 67a6e5056310 drm/i915: Lift i915_vma_pin() out of intel_renderstate_emit() -:13: WARNING:COMMIT_LOG_LONG_LINE: Possible unwrapped commit description (prefer a maximum 75 chars per line) #13: <4> [896.032844] ffff888401863270 (&kernel#2){+.+.}, at: i915_request_create+0x16/0x1c0 [i915] total: 0 errors, 1 warnings, 0 checks, 207 lines checked 573e4c65a51e drm/i915: Ignore most failures during evict-vm f3b75d150317 drm/i915: Try hard to bind the context _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 16+ messages in thread
* [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for series starting with [1/3] drm/i915: Lift i915_vma_pin() out of intel_renderstate_emit() @ 2019-12-02 21:39 ` Patchwork 0 siblings, 0 replies; 16+ messages in thread From: Patchwork @ 2019-12-02 21:39 UTC (permalink / raw) To: Chris Wilson; +Cc: intel-gfx == Series Details == Series: series starting with [1/3] drm/i915: Lift i915_vma_pin() out of intel_renderstate_emit() URL : https://patchwork.freedesktop.org/series/70315/ State : warning == Summary == $ dim checkpatch origin/drm-tip 67a6e5056310 drm/i915: Lift i915_vma_pin() out of intel_renderstate_emit() -:13: WARNING:COMMIT_LOG_LONG_LINE: Possible unwrapped commit description (prefer a maximum 75 chars per line) #13: <4> [896.032844] ffff888401863270 (&kernel#2){+.+.}, at: i915_request_create+0x16/0x1c0 [i915] total: 0 errors, 1 warnings, 0 checks, 207 lines checked 573e4c65a51e drm/i915: Ignore most failures during evict-vm f3b75d150317 drm/i915: Try hard to bind the context _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 16+ messages in thread
* ✓ Fi.CI.BAT: success for series starting with [1/3] drm/i915: Lift i915_vma_pin() out of intel_renderstate_emit() @ 2019-12-02 22:01 ` Patchwork 0 siblings, 0 replies; 16+ messages in thread From: Patchwork @ 2019-12-02 22:01 UTC (permalink / raw) To: Chris Wilson; +Cc: intel-gfx == Series Details == Series: series starting with [1/3] drm/i915: Lift i915_vma_pin() out of intel_renderstate_emit() URL : https://patchwork.freedesktop.org/series/70315/ State : success == Summary == CI Bug Log - changes from CI_DRM_7465 -> Patchwork_15544 ==================================================== Summary ------- **SUCCESS** No regressions found. External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/index.html Possible new issues ------------------- Here are the unknown changes that may have been introduced in Patchwork_15544: ### IGT changes ### #### Suppressed #### The following results come from untrusted machines, tests, or statuses. They do not affect the overall result. * igt@i915_module_load@reload-with-fault-injection: - {fi-kbl-7560u}: NOTRUN -> [DMESG-WARN][1] [1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/fi-kbl-7560u/igt@i915_module_load@reload-with-fault-injection.html Known issues ------------ Here are the changes found in Patchwork_15544 that come from known issues: ### IGT changes ### #### Issues hit #### * igt@i915_pm_rpm@module-reload: - fi-skl-6770hq: [PASS][2] -> [FAIL][3] ([i915#178]) [2]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/fi-skl-6770hq/igt@i915_pm_rpm@module-reload.html [3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/fi-skl-6770hq/igt@i915_pm_rpm@module-reload.html - fi-kbl-guc: [PASS][4] -> [FAIL][5] ([i915#579]) [4]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/fi-kbl-guc/igt@i915_pm_rpm@module-reload.html [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/fi-kbl-guc/igt@i915_pm_rpm@module-reload.html * igt@i915_selftest@live_blt: - fi-bsw-nick: [PASS][6] -> [DMESG-FAIL][7] ([i915#563]) [6]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/fi-bsw-nick/igt@i915_selftest@live_blt.html [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/fi-bsw-nick/igt@i915_selftest@live_blt.html * igt@i915_selftest@live_gem_contexts: - fi-hsw-peppy: [PASS][8] -> [INCOMPLETE][9] ([i915#694]) [8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/fi-hsw-peppy/igt@i915_selftest@live_gem_contexts.html [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/fi-hsw-peppy/igt@i915_selftest@live_gem_contexts.html #### Possible fixes #### * igt@gem_exec_suspend@basic-s0: - fi-icl-u2: [DMESG-WARN][10] ([i915#592]) -> [PASS][11] [10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/fi-icl-u2/igt@gem_exec_suspend@basic-s0.html [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/fi-icl-u2/igt@gem_exec_suspend@basic-s0.html * igt@gem_exec_suspend@basic-s3: - fi-icl-guc: [INCOMPLETE][12] ([i915#140] / [i915#184]) -> [PASS][13] [12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/fi-icl-guc/igt@gem_exec_suspend@basic-s3.html [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/fi-icl-guc/igt@gem_exec_suspend@basic-s3.html * igt@i915_module_load@reload-no-display: - {fi-kbl-7560u}: [DMESG-WARN][14] ([i915#592]) -> [PASS][15] [14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/fi-kbl-7560u/igt@i915_module_load@reload-no-display.html [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/fi-kbl-7560u/igt@i915_module_load@reload-no-display.html * igt@i915_pm_rpm@module-reload: - fi-skl-lmem: [DMESG-WARN][16] ([i915#592]) -> [PASS][17] [16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/fi-skl-lmem/igt@i915_pm_rpm@module-reload.html [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/fi-skl-lmem/igt@i915_pm_rpm@module-reload.html * igt@kms_chamelium@hdmi-hpd-fast: - fi-kbl-7500u: [FAIL][18] ([fdo#111096] / [i915#323]) -> [PASS][19] [18]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/fi-kbl-7500u/igt@kms_chamelium@hdmi-hpd-fast.html [19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/fi-kbl-7500u/igt@kms_chamelium@hdmi-hpd-fast.html #### Warnings #### * igt@gem_exec_suspend@basic-s4-devices: - fi-kbl-x1275: [DMESG-WARN][20] ([fdo#107139] / [i915#62] / [i915#92] / [i915#95]) -> [DMESG-WARN][21] ([fdo#107139] / [i915#62] / [i915#92]) [20]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/fi-kbl-x1275/igt@gem_exec_suspend@basic-s4-devices.html [21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/fi-kbl-x1275/igt@gem_exec_suspend@basic-s4-devices.html * igt@i915_pm_rpm@basic-pci-d3-state: - fi-kbl-x1275: [DMESG-WARN][22] ([i915#62] / [i915#92] / [i915#95]) -> [DMESG-WARN][23] ([i915#62] / [i915#92]) +8 similar issues [22]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/fi-kbl-x1275/igt@i915_pm_rpm@basic-pci-d3-state.html [23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/fi-kbl-x1275/igt@i915_pm_rpm@basic-pci-d3-state.html * igt@kms_pipe_crc_basic@hang-read-crc-pipe-a: - fi-kbl-x1275: [DMESG-WARN][24] ([i915#62] / [i915#92]) -> [DMESG-WARN][25] ([i915#62] / [i915#92] / [i915#95]) +3 similar issues [24]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/fi-kbl-x1275/igt@kms_pipe_crc_basic@hang-read-crc-pipe-a.html [25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/fi-kbl-x1275/igt@kms_pipe_crc_basic@hang-read-crc-pipe-a.html {name}: This element is suppressed. This means it is ignored when computing the status of the difference (SUCCESS, WARNING, or FAILURE). [fdo#107139]: https://bugs.freedesktop.org/show_bug.cgi?id=107139 [fdo#111096]: https://bugs.freedesktop.org/show_bug.cgi?id=111096 [i915#140]: https://gitlab.freedesktop.org/drm/intel/issues/140 [i915#178]: https://gitlab.freedesktop.org/drm/intel/issues/178 [i915#184]: https://gitlab.freedesktop.org/drm/intel/issues/184 [i915#323]: https://gitlab.freedesktop.org/drm/intel/issues/323 [i915#563]: https://gitlab.freedesktop.org/drm/intel/issues/563 [i915#579]: https://gitlab.freedesktop.org/drm/intel/issues/579 [i915#592]: https://gitlab.freedesktop.org/drm/intel/issues/592 [i915#62]: https://gitlab.freedesktop.org/drm/intel/issues/62 [i915#694]: https://gitlab.freedesktop.org/drm/intel/issues/694 [i915#92]: https://gitlab.freedesktop.org/drm/intel/issues/92 [i915#95]: https://gitlab.freedesktop.org/drm/intel/issues/95 Participating hosts (48 -> 43) ------------------------------ Missing (5): fi-ilk-m540 fi-hsw-4200u fi-bsw-cyan fi-ctg-p8600 fi-byt-clapper Build changes ------------- * CI: CI-20190529 -> None * Linux: CI_DRM_7465 -> Patchwork_15544 CI-20190529: 20190529 CI_DRM_7465: 847dddb7edfee6f2152da0423bad0ee5c1787199 @ git://anongit.freedesktop.org/gfx-ci/linux IGT_5321: 9df50aef49e0da4413609d9866b41b82b725f2a0 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools Patchwork_15544: f3b75d150317401763e1aed45a2aafd188e216ee @ git://anongit.freedesktop.org/gfx-ci/linux == Linux commits == f3b75d150317 drm/i915: Try hard to bind the context 573e4c65a51e drm/i915: Ignore most failures during evict-vm 67a6e5056310 drm/i915: Lift i915_vma_pin() out of intel_renderstate_emit() == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/index.html _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 16+ messages in thread
* [Intel-gfx] ✓ Fi.CI.BAT: success for series starting with [1/3] drm/i915: Lift i915_vma_pin() out of intel_renderstate_emit() @ 2019-12-02 22:01 ` Patchwork 0 siblings, 0 replies; 16+ messages in thread From: Patchwork @ 2019-12-02 22:01 UTC (permalink / raw) To: Chris Wilson; +Cc: intel-gfx == Series Details == Series: series starting with [1/3] drm/i915: Lift i915_vma_pin() out of intel_renderstate_emit() URL : https://patchwork.freedesktop.org/series/70315/ State : success == Summary == CI Bug Log - changes from CI_DRM_7465 -> Patchwork_15544 ==================================================== Summary ------- **SUCCESS** No regressions found. External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/index.html Possible new issues ------------------- Here are the unknown changes that may have been introduced in Patchwork_15544: ### IGT changes ### #### Suppressed #### The following results come from untrusted machines, tests, or statuses. They do not affect the overall result. * igt@i915_module_load@reload-with-fault-injection: - {fi-kbl-7560u}: NOTRUN -> [DMESG-WARN][1] [1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/fi-kbl-7560u/igt@i915_module_load@reload-with-fault-injection.html Known issues ------------ Here are the changes found in Patchwork_15544 that come from known issues: ### IGT changes ### #### Issues hit #### * igt@i915_pm_rpm@module-reload: - fi-skl-6770hq: [PASS][2] -> [FAIL][3] ([i915#178]) [2]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/fi-skl-6770hq/igt@i915_pm_rpm@module-reload.html [3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/fi-skl-6770hq/igt@i915_pm_rpm@module-reload.html - fi-kbl-guc: [PASS][4] -> [FAIL][5] ([i915#579]) [4]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/fi-kbl-guc/igt@i915_pm_rpm@module-reload.html [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/fi-kbl-guc/igt@i915_pm_rpm@module-reload.html * igt@i915_selftest@live_blt: - fi-bsw-nick: [PASS][6] -> [DMESG-FAIL][7] ([i915#563]) [6]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/fi-bsw-nick/igt@i915_selftest@live_blt.html [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/fi-bsw-nick/igt@i915_selftest@live_blt.html * igt@i915_selftest@live_gem_contexts: - fi-hsw-peppy: [PASS][8] -> [INCOMPLETE][9] ([i915#694]) [8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/fi-hsw-peppy/igt@i915_selftest@live_gem_contexts.html [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/fi-hsw-peppy/igt@i915_selftest@live_gem_contexts.html #### Possible fixes #### * igt@gem_exec_suspend@basic-s0: - fi-icl-u2: [DMESG-WARN][10] ([i915#592]) -> [PASS][11] [10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/fi-icl-u2/igt@gem_exec_suspend@basic-s0.html [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/fi-icl-u2/igt@gem_exec_suspend@basic-s0.html * igt@gem_exec_suspend@basic-s3: - fi-icl-guc: [INCOMPLETE][12] ([i915#140] / [i915#184]) -> [PASS][13] [12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/fi-icl-guc/igt@gem_exec_suspend@basic-s3.html [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/fi-icl-guc/igt@gem_exec_suspend@basic-s3.html * igt@i915_module_load@reload-no-display: - {fi-kbl-7560u}: [DMESG-WARN][14] ([i915#592]) -> [PASS][15] [14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/fi-kbl-7560u/igt@i915_module_load@reload-no-display.html [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/fi-kbl-7560u/igt@i915_module_load@reload-no-display.html * igt@i915_pm_rpm@module-reload: - fi-skl-lmem: [DMESG-WARN][16] ([i915#592]) -> [PASS][17] [16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/fi-skl-lmem/igt@i915_pm_rpm@module-reload.html [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/fi-skl-lmem/igt@i915_pm_rpm@module-reload.html * igt@kms_chamelium@hdmi-hpd-fast: - fi-kbl-7500u: [FAIL][18] ([fdo#111096] / [i915#323]) -> [PASS][19] [18]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/fi-kbl-7500u/igt@kms_chamelium@hdmi-hpd-fast.html [19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/fi-kbl-7500u/igt@kms_chamelium@hdmi-hpd-fast.html #### Warnings #### * igt@gem_exec_suspend@basic-s4-devices: - fi-kbl-x1275: [DMESG-WARN][20] ([fdo#107139] / [i915#62] / [i915#92] / [i915#95]) -> [DMESG-WARN][21] ([fdo#107139] / [i915#62] / [i915#92]) [20]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/fi-kbl-x1275/igt@gem_exec_suspend@basic-s4-devices.html [21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/fi-kbl-x1275/igt@gem_exec_suspend@basic-s4-devices.html * igt@i915_pm_rpm@basic-pci-d3-state: - fi-kbl-x1275: [DMESG-WARN][22] ([i915#62] / [i915#92] / [i915#95]) -> [DMESG-WARN][23] ([i915#62] / [i915#92]) +8 similar issues [22]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/fi-kbl-x1275/igt@i915_pm_rpm@basic-pci-d3-state.html [23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/fi-kbl-x1275/igt@i915_pm_rpm@basic-pci-d3-state.html * igt@kms_pipe_crc_basic@hang-read-crc-pipe-a: - fi-kbl-x1275: [DMESG-WARN][24] ([i915#62] / [i915#92]) -> [DMESG-WARN][25] ([i915#62] / [i915#92] / [i915#95]) +3 similar issues [24]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/fi-kbl-x1275/igt@kms_pipe_crc_basic@hang-read-crc-pipe-a.html [25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/fi-kbl-x1275/igt@kms_pipe_crc_basic@hang-read-crc-pipe-a.html {name}: This element is suppressed. This means it is ignored when computing the status of the difference (SUCCESS, WARNING, or FAILURE). [fdo#107139]: https://bugs.freedesktop.org/show_bug.cgi?id=107139 [fdo#111096]: https://bugs.freedesktop.org/show_bug.cgi?id=111096 [i915#140]: https://gitlab.freedesktop.org/drm/intel/issues/140 [i915#178]: https://gitlab.freedesktop.org/drm/intel/issues/178 [i915#184]: https://gitlab.freedesktop.org/drm/intel/issues/184 [i915#323]: https://gitlab.freedesktop.org/drm/intel/issues/323 [i915#563]: https://gitlab.freedesktop.org/drm/intel/issues/563 [i915#579]: https://gitlab.freedesktop.org/drm/intel/issues/579 [i915#592]: https://gitlab.freedesktop.org/drm/intel/issues/592 [i915#62]: https://gitlab.freedesktop.org/drm/intel/issues/62 [i915#694]: https://gitlab.freedesktop.org/drm/intel/issues/694 [i915#92]: https://gitlab.freedesktop.org/drm/intel/issues/92 [i915#95]: https://gitlab.freedesktop.org/drm/intel/issues/95 Participating hosts (48 -> 43) ------------------------------ Missing (5): fi-ilk-m540 fi-hsw-4200u fi-bsw-cyan fi-ctg-p8600 fi-byt-clapper Build changes ------------- * CI: CI-20190529 -> None * Linux: CI_DRM_7465 -> Patchwork_15544 CI-20190529: 20190529 CI_DRM_7465: 847dddb7edfee6f2152da0423bad0ee5c1787199 @ git://anongit.freedesktop.org/gfx-ci/linux IGT_5321: 9df50aef49e0da4413609d9866b41b82b725f2a0 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools Patchwork_15544: f3b75d150317401763e1aed45a2aafd188e216ee @ git://anongit.freedesktop.org/gfx-ci/linux == Linux commits == f3b75d150317 drm/i915: Try hard to bind the context 573e4c65a51e drm/i915: Ignore most failures during evict-vm 67a6e5056310 drm/i915: Lift i915_vma_pin() out of intel_renderstate_emit() == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/index.html _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 16+ messages in thread
* ✗ Fi.CI.IGT: failure for series starting with [1/3] drm/i915: Lift i915_vma_pin() out of intel_renderstate_emit() @ 2019-12-03 3:36 ` Patchwork 0 siblings, 0 replies; 16+ messages in thread From: Patchwork @ 2019-12-03 3:36 UTC (permalink / raw) To: Chris Wilson; +Cc: intel-gfx == Series Details == Series: series starting with [1/3] drm/i915: Lift i915_vma_pin() out of intel_renderstate_emit() URL : https://patchwork.freedesktop.org/series/70315/ State : failure == Summary == CI Bug Log - changes from CI_DRM_7465_full -> Patchwork_15544_full ==================================================== Summary ------- **FAILURE** Serious unknown changes coming with Patchwork_15544_full absolutely need to be verified manually. If you think the reported changes have nothing to do with the changes introduced in Patchwork_15544_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_15544_full: ### IGT changes ### #### Possible regressions #### * igt@gem_ctx_persistence@bcs0-mixed-process: - shard-glk: [PASS][1] -> [FAIL][2] [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-glk4/igt@gem_ctx_persistence@bcs0-mixed-process.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-glk8/igt@gem_ctx_persistence@bcs0-mixed-process.html * igt@kms_big_fb@yf-tiled-16bpp-rotate-0: - shard-skl: [PASS][3] -> [INCOMPLETE][4] [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-skl6/igt@kms_big_fb@yf-tiled-16bpp-rotate-0.html [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-skl7/igt@kms_big_fb@yf-tiled-16bpp-rotate-0.html Known issues ------------ Here are the changes found in Patchwork_15544_full that come from known issues: ### IGT changes ### #### Issues hit #### * igt@gem_ctx_isolation@rcs0-s3: - shard-tglb: [PASS][5] -> [INCOMPLETE][6] ([i915#456]) [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-tglb1/igt@gem_ctx_isolation@rcs0-s3.html [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-tglb2/igt@gem_ctx_isolation@rcs0-s3.html * igt@gem_ctx_persistence@vcs1-mixed: - shard-iclb: [PASS][7] -> [SKIP][8] ([fdo#109276] / [fdo#112080]) [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-iclb4/igt@gem_ctx_persistence@vcs1-mixed.html [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-iclb6/igt@gem_ctx_persistence@vcs1-mixed.html * igt@gem_eio@in-flight-suspend: - shard-apl: [PASS][9] -> [DMESG-WARN][10] ([i915#180]) [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-apl2/igt@gem_eio@in-flight-suspend.html [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-apl4/igt@gem_eio@in-flight-suspend.html * igt@gem_exec_async@concurrent-writes-bsd: - shard-iclb: [PASS][11] -> [SKIP][12] ([fdo#112146]) [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-iclb8/igt@gem_exec_async@concurrent-writes-bsd.html [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-iclb2/igt@gem_exec_async@concurrent-writes-bsd.html * igt@gem_exec_parallel@vcs1: - shard-tglb: [PASS][13] -> [INCOMPLETE][14] ([fdo#111593]) [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-tglb3/igt@gem_exec_parallel@vcs1.html [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-tglb4/igt@gem_exec_parallel@vcs1.html * igt@gem_exec_schedule@independent-bsd1: - shard-iclb: [PASS][15] -> [SKIP][16] ([fdo#109276]) +1 similar issue [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-iclb4/igt@gem_exec_schedule@independent-bsd1.html [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-iclb6/igt@gem_exec_schedule@independent-bsd1.html * igt@gem_exec_schedule@preempt-queue-chain-vebox: - shard-tglb: [PASS][17] -> [INCOMPLETE][18] ([fdo#111677]) [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-tglb2/igt@gem_exec_schedule@preempt-queue-chain-vebox.html [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-tglb4/igt@gem_exec_schedule@preempt-queue-chain-vebox.html * igt@gem_softpin@noreloc-s3: - shard-apl: [PASS][19] -> [INCOMPLETE][20] ([fdo#103927]) [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-apl4/igt@gem_softpin@noreloc-s3.html [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-apl1/igt@gem_softpin@noreloc-s3.html * igt@i915_suspend@forcewake: - shard-kbl: [PASS][21] -> [DMESG-WARN][22] ([i915#180]) +4 similar issues [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-kbl7/igt@i915_suspend@forcewake.html [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-kbl1/igt@i915_suspend@forcewake.html * igt@kms_big_fb@y-tiled-16bpp-rotate-180: - shard-kbl: [PASS][23] -> [INCOMPLETE][24] ([fdo#103665]) [23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-kbl6/igt@kms_big_fb@y-tiled-16bpp-rotate-180.html [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-kbl4/igt@kms_big_fb@y-tiled-16bpp-rotate-180.html * igt@kms_cursor_crc@pipe-b-cursor-64x21-random: - shard-apl: [PASS][25] -> [DMESG-WARN][26] ([IGT#6]) [25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-apl7/igt@kms_cursor_crc@pipe-b-cursor-64x21-random.html [26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-apl2/igt@kms_cursor_crc@pipe-b-cursor-64x21-random.html * igt@kms_cursor_legacy@2x-long-nonblocking-modeset-vs-cursor-atomic: - shard-glk: [PASS][27] -> [FAIL][28] ([i915#117] / [i915#133]) [27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-glk7/igt@kms_cursor_legacy@2x-long-nonblocking-modeset-vs-cursor-atomic.html [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-glk1/igt@kms_cursor_legacy@2x-long-nonblocking-modeset-vs-cursor-atomic.html * igt@kms_draw_crc@draw-method-xrgb2101010-render-untiled: - shard-iclb: [PASS][29] -> [INCOMPLETE][30] ([i915#140]) [29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-iclb8/igt@kms_draw_crc@draw-method-xrgb2101010-render-untiled.html [30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-iclb8/igt@kms_draw_crc@draw-method-xrgb2101010-render-untiled.html * igt@kms_flip@flip-vs-expired-vblank-interruptible: - shard-skl: [PASS][31] -> [FAIL][32] ([i915#79]) [31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-skl4/igt@kms_flip@flip-vs-expired-vblank-interruptible.html [32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-skl3/igt@kms_flip@flip-vs-expired-vblank-interruptible.html * igt@kms_flip@flip-vs-suspend: - shard-hsw: [PASS][33] -> [INCOMPLETE][34] ([i915#61]) [33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-hsw4/igt@kms_flip@flip-vs-suspend.html [34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-hsw5/igt@kms_flip@flip-vs-suspend.html * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-indfb-plflip-blt: - shard-tglb: [PASS][35] -> [FAIL][36] ([i915#49]) [35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-tglb3/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-indfb-plflip-blt.html [36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-tglb1/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-indfb-plflip-blt.html * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-render: - shard-tglb: [PASS][37] -> [INCOMPLETE][38] ([i915#474]) [37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-tglb6/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-render.html [38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-tglb7/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-render.html * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-indfb-draw-pwrite: - shard-iclb: [PASS][39] -> [FAIL][40] ([i915#49]) +2 similar issues [39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-iclb8/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-indfb-draw-pwrite.html [40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-iclb8/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-indfb-draw-pwrite.html * igt@kms_frontbuffer_tracking@fbcpsr-stridechange: - shard-iclb: [PASS][41] -> [INCOMPLETE][42] ([i915#123] / [i915#140]) [41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-iclb1/igt@kms_frontbuffer_tracking@fbcpsr-stridechange.html [42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-iclb4/igt@kms_frontbuffer_tracking@fbcpsr-stridechange.html * igt@kms_frontbuffer_tracking@fbcpsr-suspend: - shard-tglb: [PASS][43] -> [INCOMPLETE][44] ([i915#456] / [i915#460] / [i915#474]) [43]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-tglb9/igt@kms_frontbuffer_tracking@fbcpsr-suspend.html [44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-tglb4/igt@kms_frontbuffer_tracking@fbcpsr-suspend.html * igt@kms_plane_alpha_blend@pipe-c-constant-alpha-min: - shard-skl: [PASS][45] -> [FAIL][46] ([fdo#108145]) [45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-skl10/igt@kms_plane_alpha_blend@pipe-c-constant-alpha-min.html [46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-skl4/igt@kms_plane_alpha_blend@pipe-c-constant-alpha-min.html * igt@kms_plane_alpha_blend@pipe-c-coverage-7efc: - shard-skl: [PASS][47] -> [FAIL][48] ([fdo#108145] / [i915#265]) [47]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-skl2/igt@kms_plane_alpha_blend@pipe-c-coverage-7efc.html [48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-skl9/igt@kms_plane_alpha_blend@pipe-c-coverage-7efc.html * igt@kms_vblank@pipe-c-ts-continuation-suspend: - shard-tglb: [PASS][49] -> [INCOMPLETE][50] ([i915#456] / [i915#460]) +1 similar issue [49]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-tglb4/igt@kms_vblank@pipe-c-ts-continuation-suspend.html [50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-tglb2/igt@kms_vblank@pipe-c-ts-continuation-suspend.html * igt@perf_pmu@busy-accuracy-98-vcs1: - shard-iclb: [PASS][51] -> [SKIP][52] ([fdo#112080]) +2 similar issues [51]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-iclb1/igt@perf_pmu@busy-accuracy-98-vcs1.html [52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-iclb5/igt@perf_pmu@busy-accuracy-98-vcs1.html #### Possible fixes #### * igt@gem_busy@close-race: - shard-tglb: [INCOMPLETE][53] ([i915#435]) -> [PASS][54] [53]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-tglb6/igt@gem_busy@close-race.html [54]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-tglb9/igt@gem_busy@close-race.html * igt@gem_ctx_shared@exec-single-timeline-bsd: - shard-iclb: [SKIP][55] ([fdo#110841]) -> [PASS][56] [55]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-iclb4/igt@gem_ctx_shared@exec-single-timeline-bsd.html [56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-iclb6/igt@gem_ctx_shared@exec-single-timeline-bsd.html * {igt@gem_exec_balancer@bonded-chain}: - shard-iclb: [FAIL][57] ([i915#669]) -> [PASS][58] [57]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-iclb1/igt@gem_exec_balancer@bonded-chain.html [58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-iclb5/igt@gem_exec_balancer@bonded-chain.html * igt@gem_exec_parallel@vecs0-fds: - shard-hsw: [FAIL][59] ([i915#676]) -> [PASS][60] +5 similar issues [59]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-hsw6/igt@gem_exec_parallel@vecs0-fds.html [60]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-hsw4/igt@gem_exec_parallel@vecs0-fds.html * {igt@gem_exec_schedule@pi-common-bsd}: - shard-iclb: [SKIP][61] ([i915#677]) -> [PASS][62] [61]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-iclb4/igt@gem_exec_schedule@pi-common-bsd.html [62]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-iclb6/igt@gem_exec_schedule@pi-common-bsd.html * igt@gem_exec_schedule@preempt-queue-bsd1: - shard-iclb: [SKIP][63] ([fdo#109276]) -> [PASS][64] +17 similar issues [63]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-iclb5/igt@gem_exec_schedule@preempt-queue-bsd1.html [64]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-iclb1/igt@gem_exec_schedule@preempt-queue-bsd1.html * igt@gem_exec_schedule@preempt-queue-chain-vebox: - shard-iclb: [INCOMPLETE][65] ([i915#140]) -> [PASS][66] +1 similar issue [65]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-iclb6/igt@gem_exec_schedule@preempt-queue-chain-vebox.html [66]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-iclb1/igt@gem_exec_schedule@preempt-queue-chain-vebox.html * igt@gem_persistent_relocs@forked-interruptible-thrashing: - shard-hsw: [TIMEOUT][67] ([i915#530]) -> [PASS][68] [67]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-hsw4/igt@gem_persistent_relocs@forked-interruptible-thrashing.html [68]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-hsw5/igt@gem_persistent_relocs@forked-interruptible-thrashing.html * igt@gem_sync@basic-store-each: - shard-tglb: [INCOMPLETE][69] ([i915#435] / [i915#472]) -> [PASS][70] [69]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-tglb7/igt@gem_sync@basic-store-each.html [70]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-tglb1/igt@gem_sync@basic-store-each.html * igt@i915_selftest@live_hangcheck: - shard-snb: [INCOMPLETE][71] ([i915#82]) -> [PASS][72] [71]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-snb1/igt@i915_selftest@live_hangcheck.html [72]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-snb1/igt@i915_selftest@live_hangcheck.html * igt@kms_big_fb@x-tiled-16bpp-rotate-180: - shard-tglb: [INCOMPLETE][73] -> [PASS][74] [73]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-tglb6/igt@kms_big_fb@x-tiled-16bpp-rotate-180.html [74]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-tglb7/igt@kms_big_fb@x-tiled-16bpp-rotate-180.html * igt@kms_color@pipe-a-ctm-green-to-red: - shard-skl: [DMESG-WARN][75] ([i915#109]) -> [PASS][76] +1 similar issue [75]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-skl7/igt@kms_color@pipe-a-ctm-green-to-red.html [76]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-skl8/igt@kms_color@pipe-a-ctm-green-to-red.html * igt@kms_cursor_crc@pipe-c-cursor-suspend: - shard-kbl: [DMESG-WARN][77] ([i915#180]) -> [PASS][78] +3 similar issues [77]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-kbl1/igt@kms_cursor_crc@pipe-c-cursor-suspend.html [78]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-kbl1/igt@kms_cursor_crc@pipe-c-cursor-suspend.html * igt@kms_cursor_legacy@2x-long-cursor-vs-flip-atomic: - shard-hsw: [FAIL][79] ([i915#96]) -> [PASS][80] [79]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-hsw6/igt@kms_cursor_legacy@2x-long-cursor-vs-flip-atomic.html [80]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-hsw4/igt@kms_cursor_legacy@2x-long-cursor-vs-flip-atomic.html * igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions: - shard-skl: [FAIL][81] ([IGT#5]) -> [PASS][82] [81]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-skl4/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html [82]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-skl6/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html * igt@kms_frontbuffer_tracking@fbc-1p-indfb-fliptrack: - shard-tglb: [FAIL][83] ([i915#49]) -> [PASS][84] +2 similar issues [83]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-tglb7/igt@kms_frontbuffer_tracking@fbc-1p-indfb-fliptrack.html [84]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-tglb5/igt@kms_frontbuffer_tracking@fbc-1p-indfb-fliptrack.html * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-blt: - shard-tglb: [INCOMPLETE][85] ([i915#474]) -> [PASS][86] +1 similar issue [85]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-tglb9/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-blt.html [86]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-tglb7/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-blt.html * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-shrfb-draw-pwrite: - shard-iclb: [FAIL][87] ([i915#49]) -> [PASS][88] [87]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-iclb5/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-shrfb-draw-pwrite.html [88]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-iclb5/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-shrfb-draw-pwrite.html * igt@kms_pipe_crc_basic@hang-read-crc-pipe-a: - shard-snb: [SKIP][89] ([fdo#109271]) -> [PASS][90] +2 similar issues [89]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-snb5/igt@kms_pipe_crc_basic@hang-read-crc-pipe-a.html [90]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-snb5/igt@kms_pipe_crc_basic@hang-read-crc-pipe-a.html * igt@kms_plane@pixel-format-pipe-a-planes: - shard-kbl: [INCOMPLETE][91] ([fdo#103665]) -> [PASS][92] +1 similar issue [91]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-kbl1/igt@kms_plane@pixel-format-pipe-a-planes.html [92]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-kbl2/igt@kms_plane@pixel-format-pipe-a-planes.html * igt@kms_plane@pixel-format-pipe-b-planes-source-clamping: - shard-skl: [INCOMPLETE][93] ([fdo#112347] / [i915#648]) -> [PASS][94] [93]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-skl8/igt@kms_plane@pixel-format-pipe-b-planes-source-clamping.html [94]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-skl10/igt@kms_plane@pixel-format-pipe-b-planes-source-clamping.html * igt@kms_plane@plane-panning-bottom-right-suspend-pipe-b-planes: - shard-apl: [DMESG-WARN][95] ([i915#180]) -> [PASS][96] [95]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-apl3/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-b-planes.html [96]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-apl8/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-b-planes.html - shard-tglb: [INCOMPLETE][97] ([i915#456] / [i915#460]) -> [PASS][98] +1 similar issue [97]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-tglb4/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-b-planes.html [98]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-tglb9/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-b-planes.html * igt@kms_plane_alpha_blend@pipe-b-constant-alpha-min: - shard-skl: [FAIL][99] ([fdo#108145]) -> [PASS][100] [99]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-skl6/igt@kms_plane_alpha_blend@pipe-b-constant-alpha-min.html [100]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-skl5/igt@kms_plane_alpha_blend@pipe-b-constant-alpha-min.html * igt@kms_setmode@basic: - shard-skl: [FAIL][101] ([i915#31]) -> [PASS][102] [101]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-skl3/igt@kms_setmode@basic.html [102]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-skl7/igt@kms_setmode@basic.html * igt@kms_vblank@pipe-a-ts-continuation-dpms-suspend: - shard-tglb: [INCOMPLETE][103] ([i915#460]) -> [PASS][104] +1 similar issue [103]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-tglb1/igt@kms_vblank@pipe-a-ts-continuation-dpms-suspend.html [104]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-tglb1/igt@kms_vblank@pipe-a-ts-continuation-dpms-suspend.html * igt@perf_pmu@semaphore-wait-idle-vcs1: - shard-iclb: [SKIP][105] ([fdo#112080]) -> [PASS][106] +3 similar issues [105]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-iclb3/igt@perf_pmu@semaphore-wait-idle-vcs1.html [106]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-iclb2/igt@perf_pmu@semaphore-wait-idle-vcs1.html #### Warnings #### * igt@gem_ctx_isolation@vcs1-nonpriv-switch: - shard-iclb: [SKIP][107] ([fdo#109276] / [fdo#112080]) -> [FAIL][108] ([IGT#28]) [107]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-iclb5/igt@gem_ctx_isolation@vcs1-nonpriv-switch.html [108]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-iclb1/igt@gem_ctx_isolation@vcs1-nonpriv-switch.html * igt@gem_ctx_isolation@vcs2-reset: - shard-tglb: [SKIP][109] ([fdo#112080]) -> [SKIP][110] ([fdo#111912] / [fdo#112080]) [109]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-tglb9/igt@gem_ctx_isolation@vcs2-reset.html [110]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-tglb5/igt@gem_ctx_isolation@vcs2-reset.html * igt@gem_eio@kms: - shard-snb: [INCOMPLETE][111] ([i915#82]) -> [DMESG-WARN][112] ([i915#444] / [i915#502]) [111]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-snb5/igt@gem_eio@kms.html [112]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-snb6/igt@gem_eio@kms.html * igt@kms_atomic_transition@6x-modeset-transitions-nonblocking: - shard-tglb: [SKIP][113] ([fdo#112016] / [fdo#112021]) -> [SKIP][114] ([fdo#112021]) [113]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-tglb6/igt@kms_atomic_transition@6x-modeset-transitions-nonblocking.html [114]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-tglb9/igt@kms_atomic_transition@6x-modeset-transitions-nonblocking.html * igt@kms_plane@pixel-format-pipe-b-planes: - shard-skl: [INCOMPLETE][115] ([fdo#112391] / [i915#648]) -> [INCOMPLETE][116] ([fdo#112347] / [i915#648]) [115]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-skl10/igt@kms_plane@pixel-format-pipe-b-planes.html [116]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-skl7/igt@kms_plane@pixel-format-pipe-b-planes.html {name}: This element is suppressed. This means it is ignored when computing the status of the difference (SUCCESS, WARNING, or FAILURE). [IGT#28]: https://gitlab.freedesktop.org/drm/igt-gpu-tools/issues/28 [IGT#5]: https://gitlab.freedesktop.org/drm/igt-gpu-tools/issues/5 [IGT#6]: https://gitlab.freedesktop.org/drm/igt-gpu-tools/issues/6 [fdo#103665]: https://bugs.freedesktop.org/show_bug.cgi?id=103665 [fdo#103927]: https://bugs.freedesktop.org/show_bug.cgi?id=103927 [fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145 [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271 [fdo#109276]: https://bugs.freedesktop.org/show_bug.cgi?id=109276 [fdo#110841]: https://bugs.freedesktop.org/show_bug.cgi?id=110841 [fdo#111593]: https://bugs.freedesktop.org/show_bug.cgi?id=111593 [fdo#111677]: https://bugs.freedesktop.org/show_bug.cgi?id=111677 [fdo#111912]: https://bugs.freedesktop.org/show_bug.cgi?id=111912 [fdo#112016]: https://bugs.freedesktop.org/show_bug.cgi?id=112016 [fdo#112021]: https://bugs.freedesktop.org/show_bug.cgi?id=112021 [fdo#112080]: https://bugs.freedesktop.org/show_bug.cgi?id=112080 [fdo#112146]: https://bugs.freedesktop.org/show_bug.cgi?id=112146 [fdo#112347]: https://bugs.freedesktop.org/show_bug.cgi?id=112347 [fdo#112391]: https://bugs.freedesktop.org/show_bug.cgi?id=112391 [i915#109]: https://gitlab.freedesktop.org/drm/intel/issues/109 [i915#117]: https://gitlab.freedesktop.org/drm/intel/issues/117 [i915#123]: https://gitlab.freedesktop.org/drm/intel/issues/123 [i915#133]: https://gitlab.freedesktop.org/drm/intel/issues/133 [i915#140]: https://gitlab.freedesktop.org/drm/intel/issues/140 [i915#180]: https://gitlab.freedesktop.org/drm/intel/issues/180 [i915#265]: https://gitlab.freedesktop.org/drm/intel/issues/265 [i915#31]: https://gitlab.freedesktop.org/drm/intel/issues/31 [i915#435]: https://gitlab.freedesktop.org/drm/intel/issues/435 [i915#444]: https://gitlab.freedesktop.org/drm/intel/issues/444 [i915#456]: https://gitlab.freedesktop.org/drm/intel/issues/456 [i915#460]: https://gitlab.freedesktop.org/drm/intel/issues/460 [i915#472]: https://gitlab.freedesktop.org/drm/intel/issues/472 [i915#474]: https://gitlab.freedesktop.org/drm/intel/issues/474 [i915#49]: https://gitlab.freedesktop.org/drm/intel/issues/49 [i915#502]: https://gitlab.freedesktop.org/drm/intel/issues/502 [i915#530]: https://gitlab.freedesktop.org/drm/intel/issues/530 [i915#61]: https://gitlab.freedesktop.org/drm/intel/issues/61 [i915#648]: https://gitlab.freedesktop.org/drm/intel/issues/648 [i915#669]: https://gitlab.freedesktop.org/drm/intel/issues/669 [i915#676]: https://gitlab.freedesktop.org/drm/intel/issues/676 [i915#677]: https://gitlab.freedesktop.org/drm/intel/issues/677 [i915#79]: https://gitlab.freedesktop.org/drm/intel/issues/79 [i915#82]: https://gitlab.freedesktop.org/drm/intel/issues/82 [i915#96]: https://gitlab.freedesktop.org/drm/intel/issues/96 Participating hosts (11 -> 11) ------------------------------ No changes in participating hosts Build changes ------------- * CI: CI-20190529 -> None * Linux: CI_DRM_7465 -> Patchwork_15544 CI-20190529: 20190529 CI_DRM_7465: 847dddb7edfee6f2152da0423bad0ee5c1787199 @ git://anongit.freedesktop.org/gfx-ci/linux IGT_5321: 9df50aef49e0da4413609d9866b41b82b725f2a0 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools Patchwork_15544: f3b75d150317401763e1aed45a2aafd188e216ee @ git://anongit.freedesktop.org/gfx-ci/linux piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/index.html _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 16+ messages in thread
* [Intel-gfx] ✗ Fi.CI.IGT: failure for series starting with [1/3] drm/i915: Lift i915_vma_pin() out of intel_renderstate_emit() @ 2019-12-03 3:36 ` Patchwork 0 siblings, 0 replies; 16+ messages in thread From: Patchwork @ 2019-12-03 3:36 UTC (permalink / raw) To: Chris Wilson; +Cc: intel-gfx == Series Details == Series: series starting with [1/3] drm/i915: Lift i915_vma_pin() out of intel_renderstate_emit() URL : https://patchwork.freedesktop.org/series/70315/ State : failure == Summary == CI Bug Log - changes from CI_DRM_7465_full -> Patchwork_15544_full ==================================================== Summary ------- **FAILURE** Serious unknown changes coming with Patchwork_15544_full absolutely need to be verified manually. If you think the reported changes have nothing to do with the changes introduced in Patchwork_15544_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_15544_full: ### IGT changes ### #### Possible regressions #### * igt@gem_ctx_persistence@bcs0-mixed-process: - shard-glk: [PASS][1] -> [FAIL][2] [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-glk4/igt@gem_ctx_persistence@bcs0-mixed-process.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-glk8/igt@gem_ctx_persistence@bcs0-mixed-process.html * igt@kms_big_fb@yf-tiled-16bpp-rotate-0: - shard-skl: [PASS][3] -> [INCOMPLETE][4] [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-skl6/igt@kms_big_fb@yf-tiled-16bpp-rotate-0.html [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-skl7/igt@kms_big_fb@yf-tiled-16bpp-rotate-0.html Known issues ------------ Here are the changes found in Patchwork_15544_full that come from known issues: ### IGT changes ### #### Issues hit #### * igt@gem_ctx_isolation@rcs0-s3: - shard-tglb: [PASS][5] -> [INCOMPLETE][6] ([i915#456]) [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-tglb1/igt@gem_ctx_isolation@rcs0-s3.html [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-tglb2/igt@gem_ctx_isolation@rcs0-s3.html * igt@gem_ctx_persistence@vcs1-mixed: - shard-iclb: [PASS][7] -> [SKIP][8] ([fdo#109276] / [fdo#112080]) [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-iclb4/igt@gem_ctx_persistence@vcs1-mixed.html [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-iclb6/igt@gem_ctx_persistence@vcs1-mixed.html * igt@gem_eio@in-flight-suspend: - shard-apl: [PASS][9] -> [DMESG-WARN][10] ([i915#180]) [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-apl2/igt@gem_eio@in-flight-suspend.html [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-apl4/igt@gem_eio@in-flight-suspend.html * igt@gem_exec_async@concurrent-writes-bsd: - shard-iclb: [PASS][11] -> [SKIP][12] ([fdo#112146]) [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-iclb8/igt@gem_exec_async@concurrent-writes-bsd.html [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-iclb2/igt@gem_exec_async@concurrent-writes-bsd.html * igt@gem_exec_parallel@vcs1: - shard-tglb: [PASS][13] -> [INCOMPLETE][14] ([fdo#111593]) [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-tglb3/igt@gem_exec_parallel@vcs1.html [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-tglb4/igt@gem_exec_parallel@vcs1.html * igt@gem_exec_schedule@independent-bsd1: - shard-iclb: [PASS][15] -> [SKIP][16] ([fdo#109276]) +1 similar issue [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-iclb4/igt@gem_exec_schedule@independent-bsd1.html [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-iclb6/igt@gem_exec_schedule@independent-bsd1.html * igt@gem_exec_schedule@preempt-queue-chain-vebox: - shard-tglb: [PASS][17] -> [INCOMPLETE][18] ([fdo#111677]) [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-tglb2/igt@gem_exec_schedule@preempt-queue-chain-vebox.html [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-tglb4/igt@gem_exec_schedule@preempt-queue-chain-vebox.html * igt@gem_softpin@noreloc-s3: - shard-apl: [PASS][19] -> [INCOMPLETE][20] ([fdo#103927]) [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-apl4/igt@gem_softpin@noreloc-s3.html [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-apl1/igt@gem_softpin@noreloc-s3.html * igt@i915_suspend@forcewake: - shard-kbl: [PASS][21] -> [DMESG-WARN][22] ([i915#180]) +4 similar issues [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-kbl7/igt@i915_suspend@forcewake.html [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-kbl1/igt@i915_suspend@forcewake.html * igt@kms_big_fb@y-tiled-16bpp-rotate-180: - shard-kbl: [PASS][23] -> [INCOMPLETE][24] ([fdo#103665]) [23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-kbl6/igt@kms_big_fb@y-tiled-16bpp-rotate-180.html [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-kbl4/igt@kms_big_fb@y-tiled-16bpp-rotate-180.html * igt@kms_cursor_crc@pipe-b-cursor-64x21-random: - shard-apl: [PASS][25] -> [DMESG-WARN][26] ([IGT#6]) [25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-apl7/igt@kms_cursor_crc@pipe-b-cursor-64x21-random.html [26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-apl2/igt@kms_cursor_crc@pipe-b-cursor-64x21-random.html * igt@kms_cursor_legacy@2x-long-nonblocking-modeset-vs-cursor-atomic: - shard-glk: [PASS][27] -> [FAIL][28] ([i915#117] / [i915#133]) [27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-glk7/igt@kms_cursor_legacy@2x-long-nonblocking-modeset-vs-cursor-atomic.html [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-glk1/igt@kms_cursor_legacy@2x-long-nonblocking-modeset-vs-cursor-atomic.html * igt@kms_draw_crc@draw-method-xrgb2101010-render-untiled: - shard-iclb: [PASS][29] -> [INCOMPLETE][30] ([i915#140]) [29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-iclb8/igt@kms_draw_crc@draw-method-xrgb2101010-render-untiled.html [30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-iclb8/igt@kms_draw_crc@draw-method-xrgb2101010-render-untiled.html * igt@kms_flip@flip-vs-expired-vblank-interruptible: - shard-skl: [PASS][31] -> [FAIL][32] ([i915#79]) [31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-skl4/igt@kms_flip@flip-vs-expired-vblank-interruptible.html [32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-skl3/igt@kms_flip@flip-vs-expired-vblank-interruptible.html * igt@kms_flip@flip-vs-suspend: - shard-hsw: [PASS][33] -> [INCOMPLETE][34] ([i915#61]) [33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-hsw4/igt@kms_flip@flip-vs-suspend.html [34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-hsw5/igt@kms_flip@flip-vs-suspend.html * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-indfb-plflip-blt: - shard-tglb: [PASS][35] -> [FAIL][36] ([i915#49]) [35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-tglb3/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-indfb-plflip-blt.html [36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-tglb1/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-indfb-plflip-blt.html * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-render: - shard-tglb: [PASS][37] -> [INCOMPLETE][38] ([i915#474]) [37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-tglb6/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-render.html [38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-tglb7/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-render.html * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-indfb-draw-pwrite: - shard-iclb: [PASS][39] -> [FAIL][40] ([i915#49]) +2 similar issues [39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-iclb8/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-indfb-draw-pwrite.html [40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-iclb8/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-indfb-draw-pwrite.html * igt@kms_frontbuffer_tracking@fbcpsr-stridechange: - shard-iclb: [PASS][41] -> [INCOMPLETE][42] ([i915#123] / [i915#140]) [41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-iclb1/igt@kms_frontbuffer_tracking@fbcpsr-stridechange.html [42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-iclb4/igt@kms_frontbuffer_tracking@fbcpsr-stridechange.html * igt@kms_frontbuffer_tracking@fbcpsr-suspend: - shard-tglb: [PASS][43] -> [INCOMPLETE][44] ([i915#456] / [i915#460] / [i915#474]) [43]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-tglb9/igt@kms_frontbuffer_tracking@fbcpsr-suspend.html [44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-tglb4/igt@kms_frontbuffer_tracking@fbcpsr-suspend.html * igt@kms_plane_alpha_blend@pipe-c-constant-alpha-min: - shard-skl: [PASS][45] -> [FAIL][46] ([fdo#108145]) [45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-skl10/igt@kms_plane_alpha_blend@pipe-c-constant-alpha-min.html [46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-skl4/igt@kms_plane_alpha_blend@pipe-c-constant-alpha-min.html * igt@kms_plane_alpha_blend@pipe-c-coverage-7efc: - shard-skl: [PASS][47] -> [FAIL][48] ([fdo#108145] / [i915#265]) [47]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-skl2/igt@kms_plane_alpha_blend@pipe-c-coverage-7efc.html [48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-skl9/igt@kms_plane_alpha_blend@pipe-c-coverage-7efc.html * igt@kms_vblank@pipe-c-ts-continuation-suspend: - shard-tglb: [PASS][49] -> [INCOMPLETE][50] ([i915#456] / [i915#460]) +1 similar issue [49]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-tglb4/igt@kms_vblank@pipe-c-ts-continuation-suspend.html [50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-tglb2/igt@kms_vblank@pipe-c-ts-continuation-suspend.html * igt@perf_pmu@busy-accuracy-98-vcs1: - shard-iclb: [PASS][51] -> [SKIP][52] ([fdo#112080]) +2 similar issues [51]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-iclb1/igt@perf_pmu@busy-accuracy-98-vcs1.html [52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-iclb5/igt@perf_pmu@busy-accuracy-98-vcs1.html #### Possible fixes #### * igt@gem_busy@close-race: - shard-tglb: [INCOMPLETE][53] ([i915#435]) -> [PASS][54] [53]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-tglb6/igt@gem_busy@close-race.html [54]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-tglb9/igt@gem_busy@close-race.html * igt@gem_ctx_shared@exec-single-timeline-bsd: - shard-iclb: [SKIP][55] ([fdo#110841]) -> [PASS][56] [55]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-iclb4/igt@gem_ctx_shared@exec-single-timeline-bsd.html [56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-iclb6/igt@gem_ctx_shared@exec-single-timeline-bsd.html * {igt@gem_exec_balancer@bonded-chain}: - shard-iclb: [FAIL][57] ([i915#669]) -> [PASS][58] [57]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-iclb1/igt@gem_exec_balancer@bonded-chain.html [58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-iclb5/igt@gem_exec_balancer@bonded-chain.html * igt@gem_exec_parallel@vecs0-fds: - shard-hsw: [FAIL][59] ([i915#676]) -> [PASS][60] +5 similar issues [59]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-hsw6/igt@gem_exec_parallel@vecs0-fds.html [60]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-hsw4/igt@gem_exec_parallel@vecs0-fds.html * {igt@gem_exec_schedule@pi-common-bsd}: - shard-iclb: [SKIP][61] ([i915#677]) -> [PASS][62] [61]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-iclb4/igt@gem_exec_schedule@pi-common-bsd.html [62]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-iclb6/igt@gem_exec_schedule@pi-common-bsd.html * igt@gem_exec_schedule@preempt-queue-bsd1: - shard-iclb: [SKIP][63] ([fdo#109276]) -> [PASS][64] +17 similar issues [63]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-iclb5/igt@gem_exec_schedule@preempt-queue-bsd1.html [64]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-iclb1/igt@gem_exec_schedule@preempt-queue-bsd1.html * igt@gem_exec_schedule@preempt-queue-chain-vebox: - shard-iclb: [INCOMPLETE][65] ([i915#140]) -> [PASS][66] +1 similar issue [65]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-iclb6/igt@gem_exec_schedule@preempt-queue-chain-vebox.html [66]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-iclb1/igt@gem_exec_schedule@preempt-queue-chain-vebox.html * igt@gem_persistent_relocs@forked-interruptible-thrashing: - shard-hsw: [TIMEOUT][67] ([i915#530]) -> [PASS][68] [67]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-hsw4/igt@gem_persistent_relocs@forked-interruptible-thrashing.html [68]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-hsw5/igt@gem_persistent_relocs@forked-interruptible-thrashing.html * igt@gem_sync@basic-store-each: - shard-tglb: [INCOMPLETE][69] ([i915#435] / [i915#472]) -> [PASS][70] [69]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-tglb7/igt@gem_sync@basic-store-each.html [70]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-tglb1/igt@gem_sync@basic-store-each.html * igt@i915_selftest@live_hangcheck: - shard-snb: [INCOMPLETE][71] ([i915#82]) -> [PASS][72] [71]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-snb1/igt@i915_selftest@live_hangcheck.html [72]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-snb1/igt@i915_selftest@live_hangcheck.html * igt@kms_big_fb@x-tiled-16bpp-rotate-180: - shard-tglb: [INCOMPLETE][73] -> [PASS][74] [73]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-tglb6/igt@kms_big_fb@x-tiled-16bpp-rotate-180.html [74]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-tglb7/igt@kms_big_fb@x-tiled-16bpp-rotate-180.html * igt@kms_color@pipe-a-ctm-green-to-red: - shard-skl: [DMESG-WARN][75] ([i915#109]) -> [PASS][76] +1 similar issue [75]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-skl7/igt@kms_color@pipe-a-ctm-green-to-red.html [76]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-skl8/igt@kms_color@pipe-a-ctm-green-to-red.html * igt@kms_cursor_crc@pipe-c-cursor-suspend: - shard-kbl: [DMESG-WARN][77] ([i915#180]) -> [PASS][78] +3 similar issues [77]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-kbl1/igt@kms_cursor_crc@pipe-c-cursor-suspend.html [78]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-kbl1/igt@kms_cursor_crc@pipe-c-cursor-suspend.html * igt@kms_cursor_legacy@2x-long-cursor-vs-flip-atomic: - shard-hsw: [FAIL][79] ([i915#96]) -> [PASS][80] [79]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-hsw6/igt@kms_cursor_legacy@2x-long-cursor-vs-flip-atomic.html [80]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-hsw4/igt@kms_cursor_legacy@2x-long-cursor-vs-flip-atomic.html * igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions: - shard-skl: [FAIL][81] ([IGT#5]) -> [PASS][82] [81]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-skl4/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html [82]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-skl6/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html * igt@kms_frontbuffer_tracking@fbc-1p-indfb-fliptrack: - shard-tglb: [FAIL][83] ([i915#49]) -> [PASS][84] +2 similar issues [83]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-tglb7/igt@kms_frontbuffer_tracking@fbc-1p-indfb-fliptrack.html [84]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-tglb5/igt@kms_frontbuffer_tracking@fbc-1p-indfb-fliptrack.html * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-blt: - shard-tglb: [INCOMPLETE][85] ([i915#474]) -> [PASS][86] +1 similar issue [85]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-tglb9/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-blt.html [86]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-tglb7/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-blt.html * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-shrfb-draw-pwrite: - shard-iclb: [FAIL][87] ([i915#49]) -> [PASS][88] [87]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-iclb5/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-shrfb-draw-pwrite.html [88]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-iclb5/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-shrfb-draw-pwrite.html * igt@kms_pipe_crc_basic@hang-read-crc-pipe-a: - shard-snb: [SKIP][89] ([fdo#109271]) -> [PASS][90] +2 similar issues [89]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-snb5/igt@kms_pipe_crc_basic@hang-read-crc-pipe-a.html [90]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-snb5/igt@kms_pipe_crc_basic@hang-read-crc-pipe-a.html * igt@kms_plane@pixel-format-pipe-a-planes: - shard-kbl: [INCOMPLETE][91] ([fdo#103665]) -> [PASS][92] +1 similar issue [91]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-kbl1/igt@kms_plane@pixel-format-pipe-a-planes.html [92]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-kbl2/igt@kms_plane@pixel-format-pipe-a-planes.html * igt@kms_plane@pixel-format-pipe-b-planes-source-clamping: - shard-skl: [INCOMPLETE][93] ([fdo#112347] / [i915#648]) -> [PASS][94] [93]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-skl8/igt@kms_plane@pixel-format-pipe-b-planes-source-clamping.html [94]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-skl10/igt@kms_plane@pixel-format-pipe-b-planes-source-clamping.html * igt@kms_plane@plane-panning-bottom-right-suspend-pipe-b-planes: - shard-apl: [DMESG-WARN][95] ([i915#180]) -> [PASS][96] [95]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-apl3/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-b-planes.html [96]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-apl8/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-b-planes.html - shard-tglb: [INCOMPLETE][97] ([i915#456] / [i915#460]) -> [PASS][98] +1 similar issue [97]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-tglb4/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-b-planes.html [98]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-tglb9/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-b-planes.html * igt@kms_plane_alpha_blend@pipe-b-constant-alpha-min: - shard-skl: [FAIL][99] ([fdo#108145]) -> [PASS][100] [99]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-skl6/igt@kms_plane_alpha_blend@pipe-b-constant-alpha-min.html [100]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-skl5/igt@kms_plane_alpha_blend@pipe-b-constant-alpha-min.html * igt@kms_setmode@basic: - shard-skl: [FAIL][101] ([i915#31]) -> [PASS][102] [101]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-skl3/igt@kms_setmode@basic.html [102]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-skl7/igt@kms_setmode@basic.html * igt@kms_vblank@pipe-a-ts-continuation-dpms-suspend: - shard-tglb: [INCOMPLETE][103] ([i915#460]) -> [PASS][104] +1 similar issue [103]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-tglb1/igt@kms_vblank@pipe-a-ts-continuation-dpms-suspend.html [104]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-tglb1/igt@kms_vblank@pipe-a-ts-continuation-dpms-suspend.html * igt@perf_pmu@semaphore-wait-idle-vcs1: - shard-iclb: [SKIP][105] ([fdo#112080]) -> [PASS][106] +3 similar issues [105]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-iclb3/igt@perf_pmu@semaphore-wait-idle-vcs1.html [106]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-iclb2/igt@perf_pmu@semaphore-wait-idle-vcs1.html #### Warnings #### * igt@gem_ctx_isolation@vcs1-nonpriv-switch: - shard-iclb: [SKIP][107] ([fdo#109276] / [fdo#112080]) -> [FAIL][108] ([IGT#28]) [107]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-iclb5/igt@gem_ctx_isolation@vcs1-nonpriv-switch.html [108]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-iclb1/igt@gem_ctx_isolation@vcs1-nonpriv-switch.html * igt@gem_ctx_isolation@vcs2-reset: - shard-tglb: [SKIP][109] ([fdo#112080]) -> [SKIP][110] ([fdo#111912] / [fdo#112080]) [109]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-tglb9/igt@gem_ctx_isolation@vcs2-reset.html [110]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-tglb5/igt@gem_ctx_isolation@vcs2-reset.html * igt@gem_eio@kms: - shard-snb: [INCOMPLETE][111] ([i915#82]) -> [DMESG-WARN][112] ([i915#444] / [i915#502]) [111]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-snb5/igt@gem_eio@kms.html [112]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-snb6/igt@gem_eio@kms.html * igt@kms_atomic_transition@6x-modeset-transitions-nonblocking: - shard-tglb: [SKIP][113] ([fdo#112016] / [fdo#112021]) -> [SKIP][114] ([fdo#112021]) [113]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-tglb6/igt@kms_atomic_transition@6x-modeset-transitions-nonblocking.html [114]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-tglb9/igt@kms_atomic_transition@6x-modeset-transitions-nonblocking.html * igt@kms_plane@pixel-format-pipe-b-planes: - shard-skl: [INCOMPLETE][115] ([fdo#112391] / [i915#648]) -> [INCOMPLETE][116] ([fdo#112347] / [i915#648]) [115]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7465/shard-skl10/igt@kms_plane@pixel-format-pipe-b-planes.html [116]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/shard-skl7/igt@kms_plane@pixel-format-pipe-b-planes.html {name}: This element is suppressed. This means it is ignored when computing the status of the difference (SUCCESS, WARNING, or FAILURE). [IGT#28]: https://gitlab.freedesktop.org/drm/igt-gpu-tools/issues/28 [IGT#5]: https://gitlab.freedesktop.org/drm/igt-gpu-tools/issues/5 [IGT#6]: https://gitlab.freedesktop.org/drm/igt-gpu-tools/issues/6 [fdo#103665]: https://bugs.freedesktop.org/show_bug.cgi?id=103665 [fdo#103927]: https://bugs.freedesktop.org/show_bug.cgi?id=103927 [fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145 [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271 [fdo#109276]: https://bugs.freedesktop.org/show_bug.cgi?id=109276 [fdo#110841]: https://bugs.freedesktop.org/show_bug.cgi?id=110841 [fdo#111593]: https://bugs.freedesktop.org/show_bug.cgi?id=111593 [fdo#111677]: https://bugs.freedesktop.org/show_bug.cgi?id=111677 [fdo#111912]: https://bugs.freedesktop.org/show_bug.cgi?id=111912 [fdo#112016]: https://bugs.freedesktop.org/show_bug.cgi?id=112016 [fdo#112021]: https://bugs.freedesktop.org/show_bug.cgi?id=112021 [fdo#112080]: https://bugs.freedesktop.org/show_bug.cgi?id=112080 [fdo#112146]: https://bugs.freedesktop.org/show_bug.cgi?id=112146 [fdo#112347]: https://bugs.freedesktop.org/show_bug.cgi?id=112347 [fdo#112391]: https://bugs.freedesktop.org/show_bug.cgi?id=112391 [i915#109]: https://gitlab.freedesktop.org/drm/intel/issues/109 [i915#117]: https://gitlab.freedesktop.org/drm/intel/issues/117 [i915#123]: https://gitlab.freedesktop.org/drm/intel/issues/123 [i915#133]: https://gitlab.freedesktop.org/drm/intel/issues/133 [i915#140]: https://gitlab.freedesktop.org/drm/intel/issues/140 [i915#180]: https://gitlab.freedesktop.org/drm/intel/issues/180 [i915#265]: https://gitlab.freedesktop.org/drm/intel/issues/265 [i915#31]: https://gitlab.freedesktop.org/drm/intel/issues/31 [i915#435]: https://gitlab.freedesktop.org/drm/intel/issues/435 [i915#444]: https://gitlab.freedesktop.org/drm/intel/issues/444 [i915#456]: https://gitlab.freedesktop.org/drm/intel/issues/456 [i915#460]: https://gitlab.freedesktop.org/drm/intel/issues/460 [i915#472]: https://gitlab.freedesktop.org/drm/intel/issues/472 [i915#474]: https://gitlab.freedesktop.org/drm/intel/issues/474 [i915#49]: https://gitlab.freedesktop.org/drm/intel/issues/49 [i915#502]: https://gitlab.freedesktop.org/drm/intel/issues/502 [i915#530]: https://gitlab.freedesktop.org/drm/intel/issues/530 [i915#61]: https://gitlab.freedesktop.org/drm/intel/issues/61 [i915#648]: https://gitlab.freedesktop.org/drm/intel/issues/648 [i915#669]: https://gitlab.freedesktop.org/drm/intel/issues/669 [i915#676]: https://gitlab.freedesktop.org/drm/intel/issues/676 [i915#677]: https://gitlab.freedesktop.org/drm/intel/issues/677 [i915#79]: https://gitlab.freedesktop.org/drm/intel/issues/79 [i915#82]: https://gitlab.freedesktop.org/drm/intel/issues/82 [i915#96]: https://gitlab.freedesktop.org/drm/intel/issues/96 Participating hosts (11 -> 11) ------------------------------ No changes in participating hosts Build changes ------------- * CI: CI-20190529 -> None * Linux: CI_DRM_7465 -> Patchwork_15544 CI-20190529: 20190529 CI_DRM_7465: 847dddb7edfee6f2152da0423bad0ee5c1787199 @ git://anongit.freedesktop.org/gfx-ci/linux IGT_5321: 9df50aef49e0da4413609d9866b41b82b725f2a0 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools Patchwork_15544: f3b75d150317401763e1aed45a2aafd188e216ee @ git://anongit.freedesktop.org/gfx-ci/linux piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15544/index.html _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [Intel-gfx] [PATCH 1/3] drm/i915: Lift i915_vma_pin() out of intel_renderstate_emit() 2019-12-02 20:43 ` [Intel-gfx] " Chris Wilson ` (5 preceding siblings ...) (?) @ 2019-12-03 13:16 ` Mika Kuoppala -1 siblings, 0 replies; 16+ messages in thread From: Mika Kuoppala @ 2019-12-03 13:16 UTC (permalink / raw) To: Chris Wilson, intel-gfx Chris Wilson <chris@chris-wilson.co.uk> writes: > Once inside a request, inside the timeline->mutex, pinning is verboten. > > <4> [896.032829] ====================================================== > <4> [896.032831] WARNING: possible circular locking dependency detected > <4> [896.032835] 5.4.0-rc8-CI-Patchwork_15533+ #1 Tainted: G U > <4> [896.032838] ------------------------------------------------------ > <4> [896.032841] gem_exec_parall/3720 is trying to acquire lock: > <4> [896.032844] ffff888401863270 (&kernel#2){+.+.}, at: i915_request_create+0x16/0x1c0 [i915] > <4> [896.032915] > but task is already holding lock: > <4> [896.032917] ffff8883ec1c93c0 (&vm->mutex){+.+.}, at: i915_vma_pin+0xf3/0x11c0 [i915] > <4> [896.032952] > which lock already depends on the new lock. > > <4> [896.032954] > the existing dependency chain (in reverse order) is: > <4> [896.032956] > -> #1 (&vm->mutex){+.+.}: > <4> [896.032961] __mutex_lock+0x9a/0x9d0 > <4> [896.032995] i915_vma_pin+0xf3/0x11c0 [i915] > <4> [896.033033] intel_renderstate_emit+0xb9/0x9e0 [i915] > <4> [896.033081] i915_gem_init+0x5a9/0xa50 [i915] > <4> [896.033112] i915_driver_probe+0xb00/0x15f0 [i915] > <4> [896.033144] i915_pci_probe+0x43/0x1c0 [i915] > <4> [896.033149] pci_device_probe+0x9e/0x120 > <4> [896.033154] really_probe+0xea/0x420 > <4> [896.033158] driver_probe_device+0x10b/0x120 > <4> [896.033161] device_driver_attach+0x4a/0x50 > <4> [896.033164] __driver_attach+0x97/0x130 > <4> [896.033168] bus_for_each_dev+0x74/0xc0 > <4> [896.033171] bus_add_driver+0x142/0x220 > <4> [896.033174] driver_register+0x56/0xf0 > <4> [896.033178] do_one_initcall+0x58/0x2ff > <4> [896.033183] do_init_module+0x56/0x1f8 > <4> [896.033187] load_module+0x243e/0x29f0 > <4> [896.033190] __do_sys_finit_module+0xe9/0x110 > <4> [896.033194] do_syscall_64+0x4f/0x210 > <4> [896.033197] entry_SYSCALL_64_after_hwframe+0x49/0xbe > <4> [896.033200] > -> #0 (&kernel#2){+.+.}: > <4> [896.033206] __lock_acquire+0x1328/0x15d0 > <4> [896.033209] lock_acquire+0xa7/0x1c0 > <4> [896.033213] __mutex_lock+0x9a/0x9d0 > <4> [896.033255] i915_request_create+0x16/0x1c0 [i915] > <4> [896.033287] intel_engine_flush_barriers+0x4c/0x100 [i915] > <4> [896.033327] ggtt_flush+0x37/0x60 [i915] > <4> [896.033366] i915_gem_evict_something+0x46b/0x5a0 [i915] > <4> [896.033407] i915_gem_gtt_insert+0x21d/0x6a0 [i915] > <4> [896.033449] i915_vma_pin+0xb36/0x11c0 [i915] > <4> [896.033488] gen6_ppgtt_pin+0xd5/0x170 [i915] > <4> [896.033523] ring_context_pin+0x2e/0xc0 [i915] > <4> [896.033554] __intel_context_do_pin+0x6b/0x190 [i915] > <4> [896.033591] i915_gem_do_execbuffer+0x1814/0x26c0 [i915] > <4> [896.033627] i915_gem_execbuffer2_ioctl+0x11b/0x460 [i915] > <4> [896.033632] drm_ioctl_kernel+0xa7/0xf0 > <4> [896.033635] drm_ioctl+0x2e1/0x390 > <4> [896.033638] do_vfs_ioctl+0xa0/0x6f0 > <4> [896.033641] ksys_ioctl+0x35/0x60 > <4> [896.033644] __x64_sys_ioctl+0x11/0x20 > <4> [896.033647] do_syscall_64+0x4f/0x210 > <4> [896.033650] entry_SYSCALL_64_after_hwframe+0x49/0xbe > > Lift the object allocation and pin prior to the request construction. > > Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> > Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com> > Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com> > --- > drivers/gpu/drm/i915/gt/intel_renderstate.c | 97 ++++++++++++--------- > drivers/gpu/drm/i915/gt/intel_renderstate.h | 17 +++- > drivers/gpu/drm/i915/i915_gem.c | 8 +- > 3 files changed, 78 insertions(+), 44 deletions(-) > > diff --git a/drivers/gpu/drm/i915/gt/intel_renderstate.c b/drivers/gpu/drm/i915/gt/intel_renderstate.c > index c4edc35e7d89..5954ecc3207f 100644 > --- a/drivers/gpu/drm/i915/gt/intel_renderstate.c > +++ b/drivers/gpu/drm/i915/gt/intel_renderstate.c > @@ -29,16 +29,6 @@ > #include "intel_renderstate.h" > #include "intel_ring.h" > > -struct intel_renderstate { > - const struct intel_renderstate_rodata *rodata; > - struct drm_i915_gem_object *obj; > - struct i915_vma *vma; > - u32 batch_offset; > - u32 batch_size; > - u32 aux_offset; > - u32 aux_size; > -}; > - > static const struct intel_renderstate_rodata * > render_state_get_rodata(const struct intel_engine_cs *engine) > { > @@ -84,11 +74,11 @@ static int render_state_setup(struct intel_renderstate *so, > u32 *d; > int ret; > > - ret = i915_gem_object_prepare_write(so->obj, &needs_clflush); > + ret = i915_gem_object_prepare_write(so->vma->obj, &needs_clflush); > if (ret) > return ret; > > - d = kmap_atomic(i915_gem_object_get_dirty_page(so->obj, 0)); > + d = kmap_atomic(i915_gem_object_get_dirty_page(so->vma->obj, 0)); > > while (i < rodata->batch_items) { > u32 s = rodata->batch[i]; > @@ -166,7 +156,7 @@ static int render_state_setup(struct intel_renderstate *so, > > ret = 0; > out: > - i915_gem_object_finish_access(so->obj); > + i915_gem_object_finish_access(so->vma->obj); > return ret; > > err: > @@ -177,61 +167,84 @@ static int render_state_setup(struct intel_renderstate *so, > > #undef OUT_BATCH > > -int intel_renderstate_emit(struct i915_request *rq) > +int intel_renderstate_init(struct intel_renderstate *so, > + struct intel_engine_cs *engine) > { > - struct intel_engine_cs *engine = rq->engine; > - struct intel_renderstate so = {}; /* keep the compiler happy */ > + struct drm_i915_gem_object *obj; > int err; > > - so.rodata = render_state_get_rodata(engine); > - if (!so.rodata) > + memset(so, 0, sizeof(*so)); > + > + so->rodata = render_state_get_rodata(engine); > + if (!so->rodata) > return 0; > > - if (so.rodata->batch_items * 4 > PAGE_SIZE) > + if (so->rodata->batch_items * 4 > PAGE_SIZE) > return -EINVAL; > > - so.obj = i915_gem_object_create_internal(engine->i915, PAGE_SIZE); > - if (IS_ERR(so.obj)) > - return PTR_ERR(so.obj); > + obj = i915_gem_object_create_internal(engine->i915, PAGE_SIZE); > + if (IS_ERR(obj)) > + return PTR_ERR(obj); > > - so.vma = i915_vma_instance(so.obj, &engine->gt->ggtt->vm, NULL); > - if (IS_ERR(so.vma)) { > - err = PTR_ERR(so.vma); > + so->vma = i915_vma_instance(obj, &engine->gt->ggtt->vm, NULL); > + if (IS_ERR(so->vma)) { > + err = PTR_ERR(so->vma); > goto err_obj; > } > > - err = i915_vma_pin(so.vma, 0, 0, PIN_GLOBAL | PIN_HIGH); > + err = i915_vma_pin(so->vma, 0, 0, PIN_GLOBAL | PIN_HIGH); > if (err) > goto err_vma; > > - err = render_state_setup(&so, rq->i915); > + err = render_state_setup(so, engine->i915); > if (err) > goto err_unpin; > > + return 0; > + > +err_unpin: > + i915_vma_unpin(so->vma); > +err_vma: > + i915_vma_close(so->vma); > +err_obj: > + i915_gem_object_put(obj); > + so->vma = NULL; > + return err; > +} > + > +int intel_renderstate_emit(struct intel_renderstate *so, > + struct i915_request *rq) > +{ > + struct intel_engine_cs *engine = rq->engine; > + int err; > + > + if (!so->vma) > + return 0; > + > err = engine->emit_bb_start(rq, > - so.batch_offset, so.batch_size, > + so->batch_offset, so->batch_size, > I915_DISPATCH_SECURE); > if (err) > - goto err_unpin; > + return err; > > - if (so.aux_size > 8) { > + if (so->aux_size > 8) { > err = engine->emit_bb_start(rq, > - so.aux_offset, so.aux_size, > + so->aux_offset, so->aux_size, > I915_DISPATCH_SECURE); > if (err) > - goto err_unpin; > + return err; > } > > - i915_vma_lock(so.vma); > - err = i915_request_await_object(rq, so.vma->obj, false); > + i915_vma_lock(so->vma); > + err = i915_request_await_object(rq, so->vma->obj, false); > if (err == 0) > - err = i915_vma_move_to_active(so.vma, rq, 0); > - i915_vma_unlock(so.vma); > -err_unpin: > - i915_vma_unpin(so.vma); > -err_vma: > - i915_vma_close(so.vma); > -err_obj: > - i915_gem_object_put(so.obj); > + err = i915_vma_move_to_active(so->vma, rq, 0); > + i915_vma_unlock(so->vma); > + > return err; > } > + > +void intel_renderstate_fini(struct intel_renderstate *so) > +{ > + i915_vma_unpin_and_release(&so->vma, 0); > +} > diff --git a/drivers/gpu/drm/i915/gt/intel_renderstate.h b/drivers/gpu/drm/i915/gt/intel_renderstate.h > index 8d5079145054..5700be69a05a 100644 > --- a/drivers/gpu/drm/i915/gt/intel_renderstate.h > +++ b/drivers/gpu/drm/i915/gt/intel_renderstate.h > @@ -27,6 +27,8 @@ > #include <linux/types.h> > > struct i915_request; > +struct intel_engine_cs; > +struct i915_vma; > > struct intel_renderstate_rodata { > const u32 *reloc; > @@ -46,6 +48,19 @@ extern const struct intel_renderstate_rodata gen7_null_state; > extern const struct intel_renderstate_rodata gen8_null_state; > extern const struct intel_renderstate_rodata gen9_null_state; > > -int intel_renderstate_emit(struct i915_request *rq); > +struct intel_renderstate { > + const struct intel_renderstate_rodata *rodata; > + struct i915_vma *vma; > + u32 batch_offset; > + u32 batch_size; > + u32 aux_offset; > + u32 aux_size; > +}; > + > +int intel_renderstate_init(struct intel_renderstate *so, > + struct intel_engine_cs *engine); > +int intel_renderstate_emit(struct intel_renderstate *so, > + struct i915_request *rq); > +void intel_renderstate_fini(struct intel_renderstate *so); > > #endif /* _INTEL_RENDERSTATE_H_ */ > diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c > index 61395b03443e..d2c2d66bb5f2 100644 > --- a/drivers/gpu/drm/i915/i915_gem.c > +++ b/drivers/gpu/drm/i915/i915_gem.c > @@ -1071,9 +1071,14 @@ static int __intel_engines_record_defaults(struct intel_gt *gt) > */ > > for_each_engine(engine, gt, id) { > + struct intel_renderstate so; > struct intel_context *ce; > struct i915_request *rq; > > + err = intel_renderstate_init(&so, engine); > + if (err) > + goto out; > + > /* We must be able to switch to something! */ > GEM_BUG_ON(!engine->kernel_context); > engine->serial++; /* force the kernel context switch */ > @@ -1096,13 +1101,14 @@ static int __intel_engines_record_defaults(struct intel_gt *gt) > if (err) > goto err_rq; > > - err = intel_renderstate_emit(rq); > + err = intel_renderstate_emit(&so, rq); > if (err) > goto err_rq; > > err_rq: > requests[id] = i915_request_get(rq); > i915_request_add(rq); > + intel_renderstate_fini(&so); > if (err) > goto out; > } > -- > 2.24.0 _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 16+ messages in thread
* [PATCH 1/3] drm/i915: Manually flush barriers on eviction @ 2019-12-02 10:44 Chris Wilson 2019-12-02 10:44 ` Chris Wilson 0 siblings, 1 reply; 16+ messages in thread From: Chris Wilson @ 2019-12-02 10:44 UTC (permalink / raw) To: intel-gfx As the caller may be keeping the engines awake, even though wait-for-idle will flush the contexts, the contexts will not be unpinned until the engine is parked. Manually flush the idle barriers to ensure that any context that can be unpinned, will be. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> --- drivers/gpu/drm/i915/i915_gem_evict.c | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/i915/i915_gem_evict.c b/drivers/gpu/drm/i915/i915_gem_evict.c index 7e62c310290f..0ff4be9b2954 100644 --- a/drivers/gpu/drm/i915/i915_gem_evict.c +++ b/drivers/gpu/drm/i915/i915_gem_evict.c @@ -28,7 +28,7 @@ #include <drm/i915_drm.h> -#include "gem/i915_gem_context.h" +#include "gt/intel_engine_heartbeat.h" #include "gt/intel_gt_requests.h" #include "i915_drv.h" @@ -40,6 +40,10 @@ I915_SELFTEST_DECLARE(static struct igt_evict_ctl { static int ggtt_flush(struct intel_gt *gt) { + struct intel_engine_cs *engine; + enum intel_engine_id id; + int ret; + /* * Not everything in the GGTT is tracked via vma (otherwise we * could evict as required with minimal stalling) so we are forced @@ -47,6 +51,21 @@ static int ggtt_flush(struct intel_gt *gt) * the hopes that we can then remove contexts and the like only * bound by their active reference. */ + ret = intel_gt_wait_for_idle(gt, MAX_SCHEDULE_TIMEOUT); + if (ret) + return ret; + + /* + * The engines may be kept awake by the caller and so skip the expected + * barrier flushes (needed for unpinning contexts) upon parking. + */ + for_each_engine(engine, gt, id) { + ret = intel_engine_flush_barriers(engine); + if (ret) + return ret; + } + + /* And once more for the barriers */ return intel_gt_wait_for_idle(gt, MAX_SCHEDULE_TIMEOUT); } -- 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] 16+ messages in thread
* [Intel-gfx] [PATCH 3/3] drm/i915: Try hard to bind the context @ 2019-12-02 10:44 ` Chris Wilson 0 siblings, 0 replies; 16+ messages in thread From: Chris Wilson @ 2019-12-02 10:44 UTC (permalink / raw) To: intel-gfx It is not acceptable for context pinning to fail with -ENOSPC as we should always be able to make space in the GGTT. The only reason we may fail is that other "temporary" context pins are reserving their space and we need to wait for an available slot. Closes: https://gitlab.freedesktop.org/drm/intel/issues/676 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> --- drivers/gpu/drm/i915/i915_gem_gtt.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c index 10b3d6d44045..bcf4479a6f8f 100644 --- a/drivers/gpu/drm/i915/i915_gem_gtt.c +++ b/drivers/gpu/drm/i915/i915_gem_gtt.c @@ -1934,9 +1934,18 @@ int gen6_ppgtt_pin(struct i915_ppgtt *base) * size. We allocate at the top of the GTT to avoid fragmentation. */ if (!atomic_read(&ppgtt->pin_count)) { - err = i915_vma_pin(ppgtt->vma, - 0, GEN6_PD_ALIGN, - PIN_GLOBAL | PIN_HIGH); + do { + err = i915_vma_pin(ppgtt->vma, + 0, GEN6_PD_ALIGN, + PIN_GLOBAL | PIN_HIGH); + if (err != -ENOSPC) + break; + + /* We don't take no for an answer */ + err = i915_gem_evict_vm(ppgtt->vma->vm); + if (err) + break; + } while (1); } if (!err) atomic_inc(&ppgtt->pin_count); -- 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] 16+ messages in thread
* [Intel-gfx] [PATCH 3/3] drm/i915: Try hard to bind the context @ 2019-12-02 10:44 ` Chris Wilson 0 siblings, 0 replies; 16+ messages in thread From: Chris Wilson @ 2019-12-02 10:44 UTC (permalink / raw) To: intel-gfx It is not acceptable for context pinning to fail with -ENOSPC as we should always be able to make space in the GGTT. The only reason we may fail is that other "temporary" context pins are reserving their space and we need to wait for an available slot. Closes: https://gitlab.freedesktop.org/drm/intel/issues/676 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> --- drivers/gpu/drm/i915/i915_gem_gtt.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c index 10b3d6d44045..bcf4479a6f8f 100644 --- a/drivers/gpu/drm/i915/i915_gem_gtt.c +++ b/drivers/gpu/drm/i915/i915_gem_gtt.c @@ -1934,9 +1934,18 @@ int gen6_ppgtt_pin(struct i915_ppgtt *base) * size. We allocate at the top of the GTT to avoid fragmentation. */ if (!atomic_read(&ppgtt->pin_count)) { - err = i915_vma_pin(ppgtt->vma, - 0, GEN6_PD_ALIGN, - PIN_GLOBAL | PIN_HIGH); + do { + err = i915_vma_pin(ppgtt->vma, + 0, GEN6_PD_ALIGN, + PIN_GLOBAL | PIN_HIGH); + if (err != -ENOSPC) + break; + + /* We don't take no for an answer */ + err = i915_gem_evict_vm(ppgtt->vma->vm); + if (err) + break; + } while (1); } if (!err) atomic_inc(&ppgtt->pin_count); -- 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] 16+ messages in thread
end of thread, other threads:[~2019-12-03 13:28 UTC | newest] Thread overview: 16+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2019-12-02 20:43 [PATCH 1/3] drm/i915: Lift i915_vma_pin() out of intel_renderstate_emit() Chris Wilson 2019-12-02 20:43 ` [Intel-gfx] " Chris Wilson 2019-12-02 20:43 ` [PATCH 2/3] drm/i915: Ignore most failures during evict-vm Chris Wilson 2019-12-02 20:43 ` [Intel-gfx] " Chris Wilson 2019-12-02 20:43 ` [PATCH 3/3] drm/i915: Try hard to bind the context Chris Wilson 2019-12-02 20:43 ` [Intel-gfx] " Chris Wilson 2019-12-03 13:24 ` Mika Kuoppala 2019-12-03 13:28 ` Chris Wilson 2019-12-02 21:39 ` ✗ Fi.CI.CHECKPATCH: warning for series starting with [1/3] drm/i915: Lift i915_vma_pin() out of intel_renderstate_emit() Patchwork 2019-12-02 21:39 ` [Intel-gfx] " Patchwork 2019-12-02 22:01 ` ✓ Fi.CI.BAT: success " Patchwork 2019-12-02 22:01 ` [Intel-gfx] " Patchwork 2019-12-03 3:36 ` ✗ Fi.CI.IGT: failure " Patchwork 2019-12-03 3:36 ` [Intel-gfx] " Patchwork 2019-12-03 13:16 ` [Intel-gfx] [PATCH 1/3] " Mika Kuoppala -- strict thread matches above, loose matches on Subject: below -- 2019-12-02 10:44 [PATCH 1/3] drm/i915: Manually flush barriers on eviction Chris Wilson 2019-12-02 10:44 ` [Intel-gfx] [PATCH 3/3] drm/i915: Try hard to bind the context Chris Wilson 2019-12-02 10:44 ` 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.