[v2] drm: Get ref on CRTC commit object when waiting for flip_done

Submitted by sunpeng.li@amd.com on Oct. 16, 2018, 5:45 p.m.

Details

Message ID 1539711913-14552-1-git-send-email-sunpeng.li@amd.com
State Accepted
Commit 4364bcb2cd21d042bde4776448417ddffbc54045
Headers show
Series "drm: Get ref on CRTC commit object when waiting for flip_done" ( rev: 1 ) in Intel GFX

Not browsing as part of any series.

Commit Message

sunpeng.li@amd.com Oct. 16, 2018, 5:45 p.m.
From: Leo Li <sunpeng.li@amd.com>

This fixes a general protection fault, caused by accessing the contents
of a flip_done completion object that has already been freed. It occurs
due to the preemption of a non-blocking commit worker thread W by
another commit thread X. X continues to clear its atomic state at the
end, destroying the CRTC commit object that W still needs. Switching
back to W and accessing the commit objects then leads to bad results.

Worker W becomes preemptable when waiting for flip_done to complete. At
this point, a frequently occurring commit thread X can take over. Here's
an example where W is a worker thread that flips on both CRTCs, and X
does a legacy cursor update on both CRTCs:

        ...
     1. W does flip work
     2. W runs commit_hw_done()
     3. W waits for flip_done on CRTC 1
     4. > flip_done for CRTC 1 completes
     5. W finishes waiting for CRTC 1
     6. W waits for flip_done on CRTC 2

     7. > Preempted by X
     8. > flip_done for CRTC 2 completes
     9. X atomic_check: hw_done and flip_done are complete on all CRTCs
    10. X updates cursor on both CRTCs
    11. X destroys atomic state
    12. X done

    13. > Switch back to W
    14. W waits for flip_done on CRTC 2
    15. W raises general protection fault

The error looks like so:

    general protection fault: 0000 [#1] PREEMPT SMP PTI
    **snip**
    Call Trace:
     lock_acquire+0xa2/0x1b0
     _raw_spin_lock_irq+0x39/0x70
     wait_for_completion_timeout+0x31/0x130
     drm_atomic_helper_wait_for_flip_done+0x64/0x90 [drm_kms_helper]
     amdgpu_dm_atomic_commit_tail+0xcae/0xdd0 [amdgpu]
     commit_tail+0x3d/0x70 [drm_kms_helper]
     process_one_work+0x212/0x650
     worker_thread+0x49/0x420
     kthread+0xfb/0x130
     ret_from_fork+0x3a/0x50
    Modules linked in: x86_pkg_temp_thermal amdgpu(O) chash(O)
    gpu_sched(O) drm_kms_helper(O) syscopyarea sysfillrect sysimgblt
    fb_sys_fops ttm(O) drm(O)

Note that i915 has this issue masked, since hw_done is signaled after
waiting for flip_done. Doing so will block the cursor update from
happening until hw_done is signaled, preventing the cursor commit from
destroying the state.

v2: The reference on the commit object needs to be obtained before
    hw_done() is signaled, since that's the point where another commit
    is allowed to modify the state. Assuming that the
    new_crtc_state->commit object still exists within flip_done() is
    incorrect.

    Fix by getting a reference in setup_commit(), and releasing it
    during default_clear().

Signed-off-by: Leo Li <sunpeng.li@amd.com>
---
 drivers/gpu/drm/drm_atomic.c        |  5 +++++
 drivers/gpu/drm/drm_atomic_helper.c | 12 ++++++++----
 include/drm/drm_atomic.h            | 11 +++++++++++
 3 files changed, 24 insertions(+), 4 deletions(-)

Patch hide | download patch | download mbox

diff --git a/drivers/gpu/drm/drm_atomic.c b/drivers/gpu/drm/drm_atomic.c
index 3eb061e..12ae917 100644
--- a/drivers/gpu/drm/drm_atomic.c
+++ b/drivers/gpu/drm/drm_atomic.c
@@ -174,6 +174,11 @@  void drm_atomic_state_default_clear(struct drm_atomic_state *state)
 		state->crtcs[i].state = NULL;
 		state->crtcs[i].old_state = NULL;
 		state->crtcs[i].new_state = NULL;
+
+		if (state->crtcs[i].commit) {
+			drm_crtc_commit_put(state->crtcs[i].commit);
+			state->crtcs[i].commit = NULL;
+		}
 	}
 
 	for (i = 0; i < config->num_total_plane; i++) {
diff --git a/drivers/gpu/drm/drm_atomic_helper.c b/drivers/gpu/drm/drm_atomic_helper.c
index 80be74d..1bb4c31 100644
--- a/drivers/gpu/drm/drm_atomic_helper.c
+++ b/drivers/gpu/drm/drm_atomic_helper.c
@@ -1408,15 +1408,16 @@  EXPORT_SYMBOL(drm_atomic_helper_wait_for_vblanks);
 void drm_atomic_helper_wait_for_flip_done(struct drm_device *dev,
 					  struct drm_atomic_state *old_state)
 {
-	struct drm_crtc_state *new_crtc_state;
 	struct drm_crtc *crtc;
 	int i;
 
-	for_each_new_crtc_in_state(old_state, crtc, new_crtc_state, i) {
-		struct drm_crtc_commit *commit = new_crtc_state->commit;
+	for (i = 0; i < dev->mode_config.num_crtc; i++) {
+		struct drm_crtc_commit *commit = old_state->crtcs[i].commit;
 		int ret;
 
-		if (!commit)
+		crtc = old_state->crtcs[i].ptr;
+
+		if (!crtc || !commit)
 			continue;
 
 		ret = wait_for_completion_timeout(&commit->flip_done, 10 * HZ);
@@ -1934,6 +1935,9 @@  int drm_atomic_helper_setup_commit(struct drm_atomic_state *state,
 		drm_crtc_commit_get(commit);
 
 		commit->abort_completion = true;
+
+		state->crtcs[i].commit = commit;
+		drm_crtc_commit_get(commit);
 	}
 
 	for_each_oldnew_connector_in_state(state, conn, old_conn_state, new_conn_state, i) {
diff --git a/include/drm/drm_atomic.h b/include/drm/drm_atomic.h
index da9d95a..1e71315 100644
--- a/include/drm/drm_atomic.h
+++ b/include/drm/drm_atomic.h
@@ -153,6 +153,17 @@  struct __drm_planes_state {
 struct __drm_crtcs_state {
 	struct drm_crtc *ptr;
 	struct drm_crtc_state *state, *old_state, *new_state;
+
+	/**
+	 * @commit:
+	 *
+	 * A reference to the CRTC commit object that is kept for use by
+	 * drm_atomic_helper_wait_for_flip_done() after
+	 * drm_atomic_helper_commit_hw_done() is called. This ensures that a
+	 * concurrent commit won't free a commit object that is still in use.
+	 */
+	struct drm_crtc_commit *commit;
+
 	s32 __user *out_fence_ptr;
 	u64 last_vblank_count;
 };

Comments

On 2018-10-16 06:48 PM, Patchwork wrote:
> == Series Details ==

> 

> Series: drm: Get ref on CRTC commit object when waiting for flip_done

> URL   : https://patchwork.freedesktop.org/series/51079/

> State : failure

> 

> == Summary ==

> 

> = CI Bug Log - changes from CI_DRM_4990_full -> Patchwork_10479_full =

> 

> == Summary - FAILURE ==

> 

>    Serious unknown changes coming with Patchwork_10479_full absolutely need to be

>    verified manually.

>    

>    If you think the reported changes have nothing to do with the changes

>    introduced in Patchwork_10479_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_10479_full:

> 

>    === IGT changes ===

> 

>      ==== Possible regressions ====

> 

>      igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size:

>        shard-skl:          PASS -> FAIL

> 


I can't seem to reproduce this, here's what I've done:

* Running on a skylake i5-6600
* Single 4k display via DP
* System is imaged to the commits specified in '== Build changes =='
* Ran '# ./kms_cursor_legacy --run-subtest 
flip-vs-cursor-atomictransitions-varying-size'

Maybe I'm missing something?

Leo

>      

> == Known issues ==

> 

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

> 

>    === IGT changes ===

> 

>      ==== Issues hit ====

> 

>      igt@gem_exec_schedule@pi-ringfull-blt:

>        shard-skl:          NOTRUN -> FAIL (fdo#103158)

> 

>      igt@gem_exec_schedule@pi-ringfull-render:

>        shard-glk:          NOTRUN -> FAIL (fdo#103158)

> 

>      igt@gem_ppgtt@blt-vs-render-ctx0:

>        shard-skl:          NOTRUN -> TIMEOUT (fdo#108039)

> 

>      igt@gem_ppgtt@blt-vs-render-ctxn:

>        shard-kbl:          PASS -> INCOMPLETE (fdo#103665, fdo#106023)

> 

>      igt@kms_atomic_transition@1x-modeset-transitions-nonblocking:

>        shard-skl:          NOTRUN -> FAIL (fdo#108228)

> 

>      igt@kms_busy@extended-modeset-hang-newfb-render-b:

>        shard-hsw:          NOTRUN -> DMESG-WARN (fdo#107956) +1

> 

>      igt@kms_busy@extended-pageflip-modeset-hang-oldfb-render-a:

>        shard-glk:          NOTRUN -> DMESG-WARN (fdo#107956) +1

> 

>      igt@kms_cursor_crc@cursor-256x256-random:

>        shard-apl:          PASS -> FAIL (fdo#103232) +2

> 

>      igt@kms_cursor_crc@cursor-256x256-suspend:

>        shard-skl:          NOTRUN -> FAIL (fdo#103191, fdo#103232)

> 

>      igt@kms_cursor_crc@cursor-64x64-suspend:

>        shard-glk:          PASS -> FAIL (fdo#103232)

> 

>      igt@kms_cursor_legacy@pipe-c-forked-move:

>        shard-apl:          PASS -> INCOMPLETE (fdo#103927)

> 

>      igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-indfb-draw-mmap-gtt:

>        shard-skl:          NOTRUN -> FAIL (fdo#105682) +1

> 

>      igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-wc:

>        shard-apl:          PASS -> FAIL (fdo#103167)

> 

>      igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-move:

>        shard-skl:          NOTRUN -> FAIL (fdo#103167) +4

> 

>      igt@kms_plane@pixel-format-pipe-a-planes:

>        shard-skl:          NOTRUN -> DMESG-FAIL (fdo#103166, fdo#106885)

> 

>      igt@kms_plane@plane-position-covered-pipe-b-planes:

>        shard-glk:          NOTRUN -> FAIL (fdo#103166) +1

> 

>      igt@kms_plane_alpha_blend@pipe-b-constant-alpha-max:

>        shard-glk:          NOTRUN -> FAIL (fdo#108145) +2

> 

>      igt@kms_plane_alpha_blend@pipe-c-alpha-basic:

>        shard-skl:          NOTRUN -> FAIL (fdo#107815, fdo#108145)

> 

>      igt@kms_plane_alpha_blend@pipe-c-constant-alpha-min:

>        shard-skl:          NOTRUN -> FAIL (fdo#108145) +3

> 

>      igt@kms_rotation_crc@exhaust-fences:

>        shard-skl:          NOTRUN -> DMESG-WARN (fdo#105748)

> 

>      

>      ==== Possible fixes ====

> 

>      igt@kms_flip@flip-vs-expired-vblank-interruptible:

>        shard-glk:          FAIL (fdo#105363) -> PASS

> 

>      igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-wc:

>        shard-glk:          FAIL (fdo#103167) -> PASS

> 

>      igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-render:

>        shard-apl:          FAIL (fdo#103167) -> PASS

> 

>      igt@kms_vblank@pipe-a-ts-continuation-suspend:

>        shard-skl:          INCOMPLETE (fdo#104108, fdo#107773) -> PASS

> 

>      igt@perf@short-reads:

>        shard-skl:          FAIL (fdo#103183) -> PASS

> 

>      igt@pm_rpm@dpms-mode-unset-non-lpsp:

>        shard-skl:          INCOMPLETE (fdo#107807) -> SKIP

> 

>      

>      ==== Warnings ====

> 

>      igt@pm_backlight@fade_with_suspend:

>        shard-skl:          FAIL (fdo#107847) -> INCOMPLETE (fdo#107773)

> 

>      

>    fdo#103158 https://bugs.freedesktop.org/show_bug.cgi?id=103158

>    fdo#103166 https://bugs.freedesktop.org/show_bug.cgi?id=103166

>    fdo#103167 https://bugs.freedesktop.org/show_bug.cgi?id=103167

>    fdo#103183 https://bugs.freedesktop.org/show_bug.cgi?id=103183

>    fdo#103191 https://bugs.freedesktop.org/show_bug.cgi?id=103191

>    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#104108 https://bugs.freedesktop.org/show_bug.cgi?id=104108

>    fdo#105363 https://bugs.freedesktop.org/show_bug.cgi?id=105363

>    fdo#105682 https://bugs.freedesktop.org/show_bug.cgi?id=105682

>    fdo#105748 https://bugs.freedesktop.org/show_bug.cgi?id=105748

>    fdo#106023 https://bugs.freedesktop.org/show_bug.cgi?id=106023

>    fdo#106885 https://bugs.freedesktop.org/show_bug.cgi?id=106885

>    fdo#107773 https://bugs.freedesktop.org/show_bug.cgi?id=107773

>    fdo#107807 https://bugs.freedesktop.org/show_bug.cgi?id=107807

>    fdo#107815 https://bugs.freedesktop.org/show_bug.cgi?id=107815

>    fdo#107847 https://bugs.freedesktop.org/show_bug.cgi?id=107847

>    fdo#107956 https://bugs.freedesktop.org/show_bug.cgi?id=107956

>    fdo#108039 https://bugs.freedesktop.org/show_bug.cgi?id=108039

>    fdo#108145 https://bugs.freedesktop.org/show_bug.cgi?id=108145

>    fdo#108228 https://bugs.freedesktop.org/show_bug.cgi?id=108228

> 

> 

> == Participating hosts (6 -> 6) ==

> 

>    No changes in participating hosts

> 

> 

> == Build changes ==

> 

>      * Linux: CI_DRM_4990 -> Patchwork_10479

> 

>    CI_DRM_4990: 0bd34d92e9a27784cb988a300619f497ca0e99ec @ git://anongit.freedesktop.org/gfx-ci/linux

>    IGT_4681: 959d6f95cb1344e0c0dace5b236e17755826fac1 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools

>    Patchwork_10479: 6539ec3e48f48b93523ef4a79072e715d195051f @ 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_10479/shards.html

>
Hi, 
> -----Original Message-----

> From: Intel-gfx [mailto:intel-gfx-bounces@lists.freedesktop.org] On Behalf Of

> Li, Sun peng (Leo)

> Sent: keskiviikko 17. lokakuuta 2018 17.39

> To: intel-gfx@lists.freedesktop.org

> Cc: Li, Sun peng (Leo) <Sunpeng.Li@amd.com>; Daniel Vetter

> <daniel.vetter@ffwll.ch>; Wentland, Harry <Harry.Wentland@amd.com>

> Subject: Re: [Intel-gfx] ✗ Fi.CI.IGT: failure for drm: Get ref on CRTC commit

> object when waiting for flip_done

> 

> 

> 

> On 2018-10-16 06:48 PM, Patchwork wrote:

> > == Series Details ==

> >

> > Series: drm: Get ref on CRTC commit object when waiting for flip_done

> > URL   : https://patchwork.freedesktop.org/series/51079/

> > State : failure

> >

> > == Summary ==

> >

> > = CI Bug Log - changes from CI_DRM_4990_full -> Patchwork_10479_full =

> >

> > == Summary - FAILURE ==

> >

> >    Serious unknown changes coming with Patchwork_10479_full absolutely need to be

> >    verified manually.

> >

> >    If you think the reported changes have nothing to do with the changes

> >    introduced in Patchwork_10479_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_10479_full:

> >

> >    === IGT changes ===

> >

> >      ==== Possible regressions ====

> >

> >      igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size:

> >        shard-skl:          PASS -> FAIL

> >

> 

> I can't seem to reproduce this, here's what I've done:

> 

> * Running on a skylake i5-6600

> * Single 4k display via DP

> * System is imaged to the commits specified in '== Build changes =='

> * Ran '# ./kms_cursor_legacy --run-subtest flip-vs-cursor-atomictransitions-

> varying-size'

> 

> Maybe I'm missing something?

Might be just test problem, let-s re-run to see.

> 

> Leo

Br,
Jani Saarinen
Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo

> 

> >

> > == Known issues ==

> >

> >    Here are the changes found in Patchwork_10479_full that come from known

> issues:

> >

> >    === IGT changes ===

> >

> >      ==== Issues hit ====

> >

> >      igt@gem_exec_schedule@pi-ringfull-blt:

> >        shard-skl:          NOTRUN -> FAIL (fdo#103158)

> >

> >      igt@gem_exec_schedule@pi-ringfull-render:

> >        shard-glk:          NOTRUN -> FAIL (fdo#103158)

> >

> >      igt@gem_ppgtt@blt-vs-render-ctx0:

> >        shard-skl:          NOTRUN -> TIMEOUT (fdo#108039)

> >

> >      igt@gem_ppgtt@blt-vs-render-ctxn:

> >        shard-kbl:          PASS -> INCOMPLETE (fdo#103665, fdo#106023)

> >

> >      igt@kms_atomic_transition@1x-modeset-transitions-nonblocking:

> >        shard-skl:          NOTRUN -> FAIL (fdo#108228)

> >

> >      igt@kms_busy@extended-modeset-hang-newfb-render-b:

> >        shard-hsw:          NOTRUN -> DMESG-WARN (fdo#107956) +1

> >

> >      igt@kms_busy@extended-pageflip-modeset-hang-oldfb-render-a:

> >        shard-glk:          NOTRUN -> DMESG-WARN (fdo#107956) +1

> >

> >      igt@kms_cursor_crc@cursor-256x256-random:

> >        shard-apl:          PASS -> FAIL (fdo#103232) +2

> >

> >      igt@kms_cursor_crc@cursor-256x256-suspend:

> >        shard-skl:          NOTRUN -> FAIL (fdo#103191, fdo#103232)

> >

> >      igt@kms_cursor_crc@cursor-64x64-suspend:

> >        shard-glk:          PASS -> FAIL (fdo#103232)

> >

> >      igt@kms_cursor_legacy@pipe-c-forked-move:

> >        shard-apl:          PASS -> INCOMPLETE (fdo#103927)

> >

> >      igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-indfb-draw-mmap-gtt:

> >        shard-skl:          NOTRUN -> FAIL (fdo#105682) +1

> >

> >      igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-wc:

> >        shard-apl:          PASS -> FAIL (fdo#103167)

> >

> >      igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-move:

> >        shard-skl:          NOTRUN -> FAIL (fdo#103167) +4

> >

> >      igt@kms_plane@pixel-format-pipe-a-planes:

> >        shard-skl:          NOTRUN -> DMESG-FAIL (fdo#103166, fdo#106885)

> >

> >      igt@kms_plane@plane-position-covered-pipe-b-planes:

> >        shard-glk:          NOTRUN -> FAIL (fdo#103166) +1

> >

> >      igt@kms_plane_alpha_blend@pipe-b-constant-alpha-max:

> >        shard-glk:          NOTRUN -> FAIL (fdo#108145) +2

> >

> >      igt@kms_plane_alpha_blend@pipe-c-alpha-basic:

> >        shard-skl:          NOTRUN -> FAIL (fdo#107815, fdo#108145)

> >

> >      igt@kms_plane_alpha_blend@pipe-c-constant-alpha-min:

> >        shard-skl:          NOTRUN -> FAIL (fdo#108145) +3

> >

> >      igt@kms_rotation_crc@exhaust-fences:

> >        shard-skl:          NOTRUN -> DMESG-WARN (fdo#105748)

> >

> >

> >      ==== Possible fixes ====

> >

> >      igt@kms_flip@flip-vs-expired-vblank-interruptible:

> >        shard-glk:          FAIL (fdo#105363) -> PASS

> >

> >      igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-wc:

> >        shard-glk:          FAIL (fdo#103167) -> PASS

> >

> >      igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-render:

> >        shard-apl:          FAIL (fdo#103167) -> PASS

> >

> >      igt@kms_vblank@pipe-a-ts-continuation-suspend:

> >        shard-skl:          INCOMPLETE (fdo#104108, fdo#107773) -> PASS

> >

> >      igt@perf@short-reads:

> >        shard-skl:          FAIL (fdo#103183) -> PASS

> >

> >      igt@pm_rpm@dpms-mode-unset-non-lpsp:

> >        shard-skl:          INCOMPLETE (fdo#107807) -> SKIP

> >

> >

> >      ==== Warnings ====

> >

> >      igt@pm_backlight@fade_with_suspend:

> >        shard-skl:          FAIL (fdo#107847) -> INCOMPLETE (fdo#107773)

> >

> >

> >    fdo#103158 https://bugs.freedesktop.org/show_bug.cgi?id=103158

> >    fdo#103166 https://bugs.freedesktop.org/show_bug.cgi?id=103166

> >    fdo#103167 https://bugs.freedesktop.org/show_bug.cgi?id=103167

> >    fdo#103183 https://bugs.freedesktop.org/show_bug.cgi?id=103183

> >    fdo#103191 https://bugs.freedesktop.org/show_bug.cgi?id=103191

> >    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#104108 https://bugs.freedesktop.org/show_bug.cgi?id=104108

> >    fdo#105363 https://bugs.freedesktop.org/show_bug.cgi?id=105363

> >    fdo#105682 https://bugs.freedesktop.org/show_bug.cgi?id=105682

> >    fdo#105748 https://bugs.freedesktop.org/show_bug.cgi?id=105748

> >    fdo#106023 https://bugs.freedesktop.org/show_bug.cgi?id=106023

> >    fdo#106885 https://bugs.freedesktop.org/show_bug.cgi?id=106885

> >    fdo#107773 https://bugs.freedesktop.org/show_bug.cgi?id=107773

> >    fdo#107807 https://bugs.freedesktop.org/show_bug.cgi?id=107807

> >    fdo#107815 https://bugs.freedesktop.org/show_bug.cgi?id=107815

> >    fdo#107847 https://bugs.freedesktop.org/show_bug.cgi?id=107847

> >    fdo#107956 https://bugs.freedesktop.org/show_bug.cgi?id=107956

> >    fdo#108039 https://bugs.freedesktop.org/show_bug.cgi?id=108039

> >    fdo#108145 https://bugs.freedesktop.org/show_bug.cgi?id=108145

> >    fdo#108228 https://bugs.freedesktop.org/show_bug.cgi?id=108228

> >

> >

> > == Participating hosts (6 -> 6) ==

> >

> >    No changes in participating hosts

> >

> >

> > == Build changes ==

> >

> >      * Linux: CI_DRM_4990 -> Patchwork_10479

> >

> >    CI_DRM_4990: 0bd34d92e9a27784cb988a300619f497ca0e99ec @

> git://anongit.freedesktop.org/gfx-ci/linux

> >    IGT_4681: 959d6f95cb1344e0c0dace5b236e17755826fac1 @

> git://anongit.freedesktop.org/xorg/app/intel-gpu-tools

> >    Patchwork_10479: 6539ec3e48f48b93523ef4a79072e715d195051f @

> 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_10479/shards.html

> >

> _______________________________________________

> Intel-gfx mailing list

> Intel-gfx@lists.freedesktop.org

> https://lists.freedesktop.org/mailman/listinfo/intel-gfx