* [PATCH] drm/i915/userptr: Avoid struct_mutex recursion for mmu_invalidate_range_start
@ 2018-10-23 7:27 Chris Wilson
2018-10-23 8:03 ` ✗ Fi.CI.CHECKPATCH: warning for " Patchwork
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Chris Wilson @ 2018-10-23 7:27 UTC (permalink / raw)
To: intel-gfx
Since commit 93065ac753e4 ("mm, oom: distinguish blockable mode for mmu
notifiers") we have been able to report failure from
mmu_invalidate_range_start which allows us to use a trylock on the
struct_mutex to avoid potential recursion and report -EBUSY instead.
Furthermore, this allows us to pull the work into the main callback and
avoid the sleight-of-hand in using a workqueue to avoid lockdep.
However, not all paths to mmu_invalidate_range_start are prepared to
handle failure, so instead of reporting the recursion, deal with it.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=108375
References: 93065ac753e4 ("mm, oom: distinguish blockable mode for mmu notifiers")
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
---
drivers/gpu/drm/i915/i915_gem_userptr.c | 144 +++++++++++++-----------
1 file changed, 77 insertions(+), 67 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_gem_userptr.c b/drivers/gpu/drm/i915/i915_gem_userptr.c
index 2c9b284036d1..64f2ed7e49ec 100644
--- a/drivers/gpu/drm/i915/i915_gem_userptr.c
+++ b/drivers/gpu/drm/i915/i915_gem_userptr.c
@@ -50,7 +50,7 @@ struct i915_mmu_notifier {
struct hlist_node node;
struct mmu_notifier mn;
struct rb_root_cached objects;
- struct workqueue_struct *wq;
+ struct i915_mm_struct *mm;
};
struct i915_mmu_object {
@@ -58,42 +58,9 @@ struct i915_mmu_object {
struct drm_i915_gem_object *obj;
struct interval_tree_node it;
struct list_head link;
- struct work_struct work;
bool attached;
};
-static void cancel_userptr(struct work_struct *work)
-{
- struct i915_mmu_object *mo = container_of(work, typeof(*mo), work);
- struct drm_i915_gem_object *obj = mo->obj;
- struct work_struct *active;
-
- /* Cancel any active worker and force us to re-evaluate gup */
- mutex_lock(&obj->mm.lock);
- active = fetch_and_zero(&obj->userptr.work);
- mutex_unlock(&obj->mm.lock);
- if (active)
- goto out;
-
- i915_gem_object_wait(obj, I915_WAIT_ALL, MAX_SCHEDULE_TIMEOUT, NULL);
-
- mutex_lock(&obj->base.dev->struct_mutex);
-
- /* We are inside a kthread context and can't be interrupted */
- if (i915_gem_object_unbind(obj) == 0)
- __i915_gem_object_put_pages(obj, I915_MM_NORMAL);
- WARN_ONCE(i915_gem_object_has_pages(obj),
- "Failed to release pages: bind_count=%d, pages_pin_count=%d, pin_global=%d\n",
- obj->bind_count,
- atomic_read(&obj->mm.pages_pin_count),
- obj->pin_global);
-
- mutex_unlock(&obj->base.dev->struct_mutex);
-
-out:
- i915_gem_object_put(obj);
-}
-
static void add_object(struct i915_mmu_object *mo)
{
if (mo->attached)
@@ -112,17 +79,33 @@ static void del_object(struct i915_mmu_object *mo)
mo->attached = false;
}
+static struct mutex *__i915_mutex_lock_recursive(struct mutex *m)
+{
+ switch (mutex_trylock_recursive(m)) {
+ default:
+ case MUTEX_TRYLOCK_FAILED:
+ mutex_lock(m);
+ case MUTEX_TRYLOCK_SUCCESS:
+ return m;
+
+ case MUTEX_TRYLOCK_RECURSIVE:
+ return NULL;
+ }
+}
+
static int i915_gem_userptr_mn_invalidate_range_start(struct mmu_notifier *_mn,
- struct mm_struct *mm,
- unsigned long start,
- unsigned long end,
- bool blockable)
+ struct mm_struct *mm,
+ unsigned long start,
+ unsigned long end,
+ bool blockable)
{
struct i915_mmu_notifier *mn =
container_of(_mn, struct i915_mmu_notifier, mn);
- struct i915_mmu_object *mo;
+ struct i915_mmu_object *mo, *next;
struct interval_tree_node *it;
LIST_HEAD(cancelled);
+ struct mutex *unlock;
+ int ret;
if (RB_EMPTY_ROOT(&mn->objects.rb_root))
return 0;
@@ -148,19 +131,61 @@ static int i915_gem_userptr_mn_invalidate_range_start(struct mmu_notifier *_mn,
*/
mo = container_of(it, struct i915_mmu_object, it);
if (kref_get_unless_zero(&mo->obj->base.refcount))
- queue_work(mn->wq, &mo->work);
+ list_add(&mo->link, &cancelled);
- list_add(&mo->link, &cancelled);
it = interval_tree_iter_next(it, start, end);
}
- list_for_each_entry(mo, &cancelled, link)
- del_object(mo);
spin_unlock(&mn->lock);
- if (!list_empty(&cancelled))
- flush_workqueue(mn->wq);
+ list_for_each_entry_safe(mo, next, &cancelled, link) {
+ struct drm_i915_gem_object *obj = mo->obj;
+ bool pending;
- return 0;
+ /* Cancel any pending worker and force us to re-evaluate gup */
+ mutex_lock_nested(&obj->mm.lock, I915_MM_SHRINKER);
+ pending = fetch_and_zero(&obj->userptr.work);
+ mutex_unlock(&obj->mm.lock);
+ if (pending) {
+ list_del(&mo->link);
+
+ spin_lock(&mn->lock);
+ del_object(mo);
+ spin_unlock(&mn->lock);
+
+ i915_gem_object_put(obj);
+ }
+ }
+
+ if (list_empty(&cancelled))
+ return 0;
+
+ unlock = __i915_mutex_lock_recursive(&mn->mm->i915->drm.struct_mutex);
+
+ ret = 0;
+ list_for_each_entry_safe(mo, next, &cancelled, link) {
+ struct drm_i915_gem_object *obj = mo->obj;
+ int err;
+
+ err = i915_gem_object_unbind(obj);
+ if (err == 0) {
+ __i915_gem_object_put_pages(obj, I915_MM_SHRINKER);
+ GEM_BUG_ON(obj->mm.pages);
+
+ spin_lock(&mn->lock);
+ del_object(mo);
+ spin_unlock(&mn->lock);
+ } else {
+ if (ret == 0)
+ ret = err;
+ }
+
+ i915_gem_object_put(obj);
+ }
+
+ if (unlock)
+ mutex_unlock(unlock);
+
+ return ret;
}
static const struct mmu_notifier_ops i915_gem_userptr_notifier = {
@@ -168,7 +193,7 @@ static const struct mmu_notifier_ops i915_gem_userptr_notifier = {
};
static struct i915_mmu_notifier *
-i915_mmu_notifier_create(struct mm_struct *mm)
+i915_mmu_notifier_create(struct i915_mm_struct *mm)
{
struct i915_mmu_notifier *mn;
@@ -179,13 +204,7 @@ i915_mmu_notifier_create(struct mm_struct *mm)
spin_lock_init(&mn->lock);
mn->mn.ops = &i915_gem_userptr_notifier;
mn->objects = RB_ROOT_CACHED;
- mn->wq = alloc_workqueue("i915-userptr-release",
- WQ_UNBOUND | WQ_MEM_RECLAIM,
- 0);
- if (mn->wq == NULL) {
- kfree(mn);
- return ERR_PTR(-ENOMEM);
- }
+ mn->mm = mm;
return mn;
}
@@ -217,7 +236,7 @@ i915_mmu_notifier_find(struct i915_mm_struct *mm)
if (mn)
return mn;
- mn = i915_mmu_notifier_create(mm->mm);
+ mn = i915_mmu_notifier_create(mm);
if (IS_ERR(mn))
err = PTR_ERR(mn);
@@ -240,10 +259,8 @@ i915_mmu_notifier_find(struct i915_mm_struct *mm)
mutex_unlock(&mm->i915->mm_lock);
up_write(&mm->mm->mmap_sem);
- if (mn && !IS_ERR(mn)) {
- destroy_workqueue(mn->wq);
+ if (mn && !IS_ERR(mn))
kfree(mn);
- }
return err ? ERR_PTR(err) : mm->mn;
}
@@ -273,7 +290,6 @@ i915_gem_userptr_init__mmu_notifier(struct drm_i915_gem_object *obj,
mo->obj = obj;
mo->it.start = obj->userptr.ptr;
mo->it.last = obj->userptr.ptr + obj->base.size - 1;
- INIT_WORK(&mo->work, cancel_userptr);
obj->userptr.mmu_object = mo;
return 0;
@@ -287,7 +303,6 @@ i915_mmu_notifier_free(struct i915_mmu_notifier *mn,
return;
mmu_notifier_unregister(&mn->mn, mm);
- destroy_workqueue(mn->wq);
kfree(mn);
}
@@ -482,15 +497,10 @@ __i915_gem_userptr_set_active(struct drm_i915_gem_object *obj,
return 0;
spin_lock(&obj->userptr.mmu_object->mn->lock);
- /* In order to serialise get_pages with an outstanding
- * cancel_userptr, we must drop the struct_mutex and try again.
- */
- if (!value)
- del_object(obj->userptr.mmu_object);
- else if (!work_pending(&obj->userptr.mmu_object->work))
+ if (value)
add_object(obj->userptr.mmu_object);
else
- ret = -EAGAIN;
+ del_object(obj->userptr.mmu_object);
spin_unlock(&obj->userptr.mmu_object->mn->lock);
#endif
--
2.19.1
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 4+ messages in thread
* ✗ Fi.CI.CHECKPATCH: warning for drm/i915/userptr: Avoid struct_mutex recursion for mmu_invalidate_range_start
2018-10-23 7:27 [PATCH] drm/i915/userptr: Avoid struct_mutex recursion for mmu_invalidate_range_start Chris Wilson
@ 2018-10-23 8:03 ` Patchwork
2018-10-23 8:28 ` ✓ Fi.CI.BAT: success " Patchwork
2018-10-23 9:42 ` ✓ Fi.CI.IGT: " Patchwork
2 siblings, 0 replies; 4+ messages in thread
From: Patchwork @ 2018-10-23 8:03 UTC (permalink / raw)
To: Chris Wilson; +Cc: intel-gfx
== Series Details ==
Series: drm/i915/userptr: Avoid struct_mutex recursion for mmu_invalidate_range_start
URL : https://patchwork.freedesktop.org/series/51362/
State : warning
== Summary ==
$ dim checkpatch origin/drm-tip
e6ef08e9dafb drm/i915/userptr: Avoid struct_mutex recursion for mmu_invalidate_range_start
-:18: WARNING:COMMIT_LOG_LONG_LINE: Possible unwrapped commit description (prefer a maximum 75 chars per line)
#18:
References: 93065ac753e4 ("mm, oom: distinguish blockable mode for mmu notifiers")
-:18: ERROR:GIT_COMMIT_ID: Please use git commit description style 'commit <12+ chars of sha1> ("<title line>")' - ie: 'commit 93065ac753e4 ("mm, oom: distinguish blockable mode for mmu notifiers")'
#18:
References: 93065ac753e4 ("mm, oom: distinguish blockable mode for mmu notifiers")
-:83: ERROR:LOCKING: recursive locking is bad, do not use this ever.
#83: FILE: drivers/gpu/drm/i915/i915_gem_userptr.c:84:
+ switch (mutex_trylock_recursive(m)) {
-:111: CHECK:UNCOMMENTED_DEFINITION: struct mutex definition without comment
#111: FILE: drivers/gpu/drm/i915/i915_gem_userptr.c:107:
+ struct mutex *unlock;
total: 2 errors, 1 warnings, 1 checks, 228 lines checked
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 4+ messages in thread
* ✓ Fi.CI.BAT: success for drm/i915/userptr: Avoid struct_mutex recursion for mmu_invalidate_range_start
2018-10-23 7:27 [PATCH] drm/i915/userptr: Avoid struct_mutex recursion for mmu_invalidate_range_start Chris Wilson
2018-10-23 8:03 ` ✗ Fi.CI.CHECKPATCH: warning for " Patchwork
@ 2018-10-23 8:28 ` Patchwork
2018-10-23 9:42 ` ✓ Fi.CI.IGT: " Patchwork
2 siblings, 0 replies; 4+ messages in thread
From: Patchwork @ 2018-10-23 8:28 UTC (permalink / raw)
To: Chris Wilson; +Cc: intel-gfx
== Series Details ==
Series: drm/i915/userptr: Avoid struct_mutex recursion for mmu_invalidate_range_start
URL : https://patchwork.freedesktop.org/series/51362/
State : success
== Summary ==
= CI Bug Log - changes from CI_DRM_5019 -> Patchwork_10537 =
== Summary - SUCCESS ==
No regressions found.
External URL: https://patchwork.freedesktop.org/api/1.0/series/51362/revisions/1/mbox/
== Known issues ==
Here are the changes found in Patchwork_10537 that come from known issues:
=== IGT changes ===
==== Issues hit ====
igt@gem_exec_suspend@basic-s3:
fi-cfl-8109u: PASS -> INCOMPLETE (fdo#108126, fdo#107187)
fi-kbl-soraka: NOTRUN -> INCOMPLETE (fdo#107774, fdo#107859, fdo#107556)
igt@kms_flip@basic-flip-vs-dpms:
fi-skl-6700hq: PASS -> DMESG-WARN (fdo#105998)
igt@kms_frontbuffer_tracking@basic:
fi-byt-clapper: PASS -> FAIL (fdo#103167)
igt@kms_pipe_crc_basic@nonblocking-crc-pipe-a-frame-sequence:
fi-byt-clapper: PASS -> FAIL (fdo#107362, fdo#103191)
igt@kms_pipe_crc_basic@read-crc-pipe-b:
fi-byt-clapper: PASS -> FAIL (fdo#107362)
==== Possible fixes ====
igt@gem_exec_reloc@basic-gtt-read-active:
fi-icl-u: DMESG-WARN (fdo#108522) -> PASS +1
igt@gem_exec_store@basic-all:
fi-icl-u: DMESG-WARN (fdo#107732) -> PASS +3
igt@gem_exec_suspend@basic:
fi-icl-u: DMESG-WARN (fdo#107724) -> PASS +22
igt@gem_exec_suspend@basic-s3:
fi-icl-u: DMESG-WARN (fdo#108512) -> PASS
igt@pm_rpm@module-reload:
fi-skl-6600u: INCOMPLETE (fdo#107807) -> PASS
fdo#103167 https://bugs.freedesktop.org/show_bug.cgi?id=103167
fdo#103191 https://bugs.freedesktop.org/show_bug.cgi?id=103191
fdo#105998 https://bugs.freedesktop.org/show_bug.cgi?id=105998
fdo#107187 https://bugs.freedesktop.org/show_bug.cgi?id=107187
fdo#107362 https://bugs.freedesktop.org/show_bug.cgi?id=107362
fdo#107556 https://bugs.freedesktop.org/show_bug.cgi?id=107556
fdo#107724 https://bugs.freedesktop.org/show_bug.cgi?id=107724
fdo#107732 https://bugs.freedesktop.org/show_bug.cgi?id=107732
fdo#107774 https://bugs.freedesktop.org/show_bug.cgi?id=107774
fdo#107807 https://bugs.freedesktop.org/show_bug.cgi?id=107807
fdo#107859 https://bugs.freedesktop.org/show_bug.cgi?id=107859
fdo#108126 https://bugs.freedesktop.org/show_bug.cgi?id=108126
fdo#108512 https://bugs.freedesktop.org/show_bug.cgi?id=108512
fdo#108522 https://bugs.freedesktop.org/show_bug.cgi?id=108522
== Participating hosts (48 -> 45) ==
Additional (3): fi-kbl-soraka fi-skl-guc fi-byt-j1900
Missing (6): fi-ilk-m540 fi-byt-squawks fi-icl-u2 fi-bsw-cyan fi-snb-2520m fi-ctg-p8600
== Build changes ==
* Linux: CI_DRM_5019 -> Patchwork_10537
CI_DRM_5019: 8d7ffd2298c607c3e1a16f94d51450d7940fd6a7 @ git://anongit.freedesktop.org/gfx-ci/linux
IGT_4685: 78619fde4008424c472906041edb1d204e014f7c @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
Patchwork_10537: e6ef08e9dafb477b5cf08c55ee6f8f98af5fdc39 @ git://anongit.freedesktop.org/gfx-ci/linux
== Linux commits ==
e6ef08e9dafb drm/i915/userptr: Avoid struct_mutex recursion for mmu_invalidate_range_start
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_10537/issues.html
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 4+ messages in thread
* ✓ Fi.CI.IGT: success for drm/i915/userptr: Avoid struct_mutex recursion for mmu_invalidate_range_start
2018-10-23 7:27 [PATCH] drm/i915/userptr: Avoid struct_mutex recursion for mmu_invalidate_range_start Chris Wilson
2018-10-23 8:03 ` ✗ Fi.CI.CHECKPATCH: warning for " Patchwork
2018-10-23 8:28 ` ✓ Fi.CI.BAT: success " Patchwork
@ 2018-10-23 9:42 ` Patchwork
2 siblings, 0 replies; 4+ messages in thread
From: Patchwork @ 2018-10-23 9:42 UTC (permalink / raw)
To: Chris Wilson; +Cc: intel-gfx
== Series Details ==
Series: drm/i915/userptr: Avoid struct_mutex recursion for mmu_invalidate_range_start
URL : https://patchwork.freedesktop.org/series/51362/
State : success
== Summary ==
= CI Bug Log - changes from CI_DRM_5019_full -> Patchwork_10537_full =
== Summary - WARNING ==
Minor unknown changes coming with Patchwork_10537_full need to be verified
manually.
If you think the reported changes have nothing to do with the changes
introduced in Patchwork_10537_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_10537_full:
=== IGT changes ===
==== Warnings ====
igt@perf_pmu@rc6:
shard-kbl: SKIP -> PASS
== Known issues ==
Here are the changes found in Patchwork_10537_full that come from known issues:
=== IGT changes ===
==== Issues hit ====
igt@gem_ctx_isolation@bcs0-s3:
shard-kbl: PASS -> INCOMPLETE (fdo#103665)
igt@gem_ppgtt@blt-vs-render-ctx0:
shard-kbl: PASS -> INCOMPLETE (fdo#106023, fdo#103665)
igt@gem_userptr_blits@readonly-unsync:
shard-skl: NOTRUN -> INCOMPLETE (fdo#108074)
igt@kms_busy@extended-modeset-hang-newfb-with-reset-render-b:
shard-snb: NOTRUN -> DMESG-WARN (fdo#107956)
igt@kms_busy@extended-pageflip-modeset-hang-oldfb-render-b:
shard-apl: PASS -> DMESG-WARN (fdo#107956)
shard-skl: NOTRUN -> DMESG-WARN (fdo#107956)
igt@kms_color@pipe-a-legacy-gamma:
shard-skl: NOTRUN -> FAIL (fdo#108145, fdo#104782)
igt@kms_color@pipe-c-legacy-gamma:
shard-apl: PASS -> FAIL (fdo#104782)
igt@kms_cursor_crc@cursor-128x128-suspend:
shard-glk: PASS -> FAIL (fdo#103232) +1
igt@kms_cursor_crc@cursor-64x21-sliding:
shard-apl: PASS -> FAIL (fdo#103232) +1
igt@kms_draw_crc@draw-method-rgb565-pwrite-xtiled:
shard-skl: NOTRUN -> FAIL (fdo#103184)
igt@kms_fbcon_fbt@psr:
shard-skl: NOTRUN -> FAIL (fdo#107882)
igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-indfb-draw-mmap-gtt:
shard-skl: NOTRUN -> FAIL (fdo#105682)
igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-pwrite:
shard-apl: PASS -> FAIL (fdo#103167)
igt@kms_frontbuffer_tracking@fbc-shrfb-scaledprimary:
shard-glk: PASS -> DMESG-WARN (fdo#105763, fdo#106538) +2
igt@kms_frontbuffer_tracking@psr-1p-offscren-pri-indfb-draw-render:
shard-skl: NOTRUN -> FAIL (fdo#103167) +2
igt@kms_plane@plane-panning-bottom-right-suspend-pipe-a-planes:
shard-skl: NOTRUN -> FAIL (fdo#103166)
igt@kms_plane_alpha_blend@pipe-a-coverage-7efc:
shard-skl: NOTRUN -> FAIL (fdo#108145, fdo#107815)
igt@kms_plane_alpha_blend@pipe-b-constant-alpha-max:
shard-apl: PASS -> FAIL (fdo#108145)
igt@kms_plane_alpha_blend@pipe-c-alpha-opaque-fb:
shard-glk: PASS -> FAIL (fdo#108145)
igt@kms_plane_alpha_blend@pipe-c-alpha-transparant-fb:
shard-skl: NOTRUN -> FAIL (fdo#108145) +1
igt@kms_plane_alpha_blend@pipe-c-coverage-7efc:
shard-skl: NOTRUN -> FAIL (fdo#108146)
igt@kms_plane_multiple@atomic-pipe-b-tiling-y:
shard-glk: PASS -> FAIL (fdo#103166) +1
igt@kms_setmode@basic:
shard-hsw: PASS -> FAIL (fdo#99912)
shard-snb: NOTRUN -> FAIL (fdo#99912)
igt@pm_rps@reset:
shard-kbl: PASS -> FAIL (fdo#102250)
igt@syncobj_wait@wait-all-for-submit-delayed-submit:
shard-snb: NOTRUN -> INCOMPLETE (fdo#105411) +1
igt@syncobj_wait@wait-for-submit-delayed-submit:
shard-skl: NOTRUN -> INCOMPLETE (fdo#108490) +1
==== Possible fixes ====
igt@gem_exec_await@wide-contexts:
shard-kbl: FAIL (fdo#106680) -> PASS
igt@gem_userptr_blits@readonly-unsync:
shard-apl: INCOMPLETE (fdo#103927) -> PASS
igt@kms_available_modes_crc@available_mode_test_crc:
shard-apl: FAIL (fdo#106641) -> PASS
igt@kms_ccs@pipe-a-crc-sprite-planes-basic:
shard-glk: FAIL (fdo#108145) -> PASS
igt@kms_cursor_crc@cursor-size-change:
shard-apl: FAIL (fdo#103232) -> PASS
igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-fullscreen:
shard-apl: FAIL (fdo#103167) -> PASS +1
igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-shrfb-draw-mmap-wc:
shard-glk: FAIL (fdo#103167) -> PASS
igt@kms_plane@plane-position-covered-pipe-a-planes:
shard-glk: FAIL (fdo#103166) -> PASS
igt@pm_rpm@modeset-non-lpsp-stress-no-wait:
shard-skl: INCOMPLETE (fdo#107807) -> SKIP
fdo#102250 https://bugs.freedesktop.org/show_bug.cgi?id=102250
fdo#103166 https://bugs.freedesktop.org/show_bug.cgi?id=103166
fdo#103167 https://bugs.freedesktop.org/show_bug.cgi?id=103167
fdo#103184 https://bugs.freedesktop.org/show_bug.cgi?id=103184
fdo#103232 https://bugs.freedesktop.org/show_bug.cgi?id=103232
fdo#103665 https://bugs.freedesktop.org/show_bug.cgi?id=103665
fdo#103927 https://bugs.freedesktop.org/show_bug.cgi?id=103927
fdo#104782 https://bugs.freedesktop.org/show_bug.cgi?id=104782
fdo#105411 https://bugs.freedesktop.org/show_bug.cgi?id=105411
fdo#105682 https://bugs.freedesktop.org/show_bug.cgi?id=105682
fdo#105763 https://bugs.freedesktop.org/show_bug.cgi?id=105763
fdo#106023 https://bugs.freedesktop.org/show_bug.cgi?id=106023
fdo#106538 https://bugs.freedesktop.org/show_bug.cgi?id=106538
fdo#106641 https://bugs.freedesktop.org/show_bug.cgi?id=106641
fdo#106680 https://bugs.freedesktop.org/show_bug.cgi?id=106680
fdo#107807 https://bugs.freedesktop.org/show_bug.cgi?id=107807
fdo#107815 https://bugs.freedesktop.org/show_bug.cgi?id=107815
fdo#107882 https://bugs.freedesktop.org/show_bug.cgi?id=107882
fdo#107956 https://bugs.freedesktop.org/show_bug.cgi?id=107956
fdo#108074 https://bugs.freedesktop.org/show_bug.cgi?id=108074
fdo#108145 https://bugs.freedesktop.org/show_bug.cgi?id=108145
fdo#108146 https://bugs.freedesktop.org/show_bug.cgi?id=108146
fdo#108490 https://bugs.freedesktop.org/show_bug.cgi?id=108490
fdo#99912 https://bugs.freedesktop.org/show_bug.cgi?id=99912
== Participating hosts (6 -> 6) ==
No changes in participating hosts
== Build changes ==
* Linux: CI_DRM_5019 -> Patchwork_10537
CI_DRM_5019: 8d7ffd2298c607c3e1a16f94d51450d7940fd6a7 @ git://anongit.freedesktop.org/gfx-ci/linux
IGT_4685: 78619fde4008424c472906041edb1d204e014f7c @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
Patchwork_10537: e6ef08e9dafb477b5cf08c55ee6f8f98af5fdc39 @ 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_10537/shards.html
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2018-10-23 9:42 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-10-23 7:27 [PATCH] drm/i915/userptr: Avoid struct_mutex recursion for mmu_invalidate_range_start Chris Wilson
2018-10-23 8:03 ` ✗ Fi.CI.CHECKPATCH: warning for " Patchwork
2018-10-23 8:28 ` ✓ Fi.CI.BAT: success " Patchwork
2018-10-23 9:42 ` ✓ Fi.CI.IGT: " Patchwork
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.