Skip to contentSkip to conversation

drm/i915/gvt: Fix workload status after wait

PATCH Superseded Zhenyu Wang 4 participants 5 messages Nov 2, 2016

Subsystems (3)

v1 of 2 Superseded Latest is v2 →

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 drm/i915/gvt: Fix workload status after wait

From commit e95433c73a11759203af1cae5958f998c9673370, workload status setting was changed to only capture on error path, but we need to set it properly in normal path too, otherwise we'll fail to complete workload which could lead guest VM vGPU reset.

---
 drivers/gpu/drm/i915/gvt/scheduler.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
drivers/gpu/drm/i915/gvt/scheduler.c +2 -1
index 18acb45..bc4c14a 100644
@@ -455,7 +455,8 @@ static int workload_thread(void *priv)
 		if (lret < 0) {
 			workload->status = lret;
 			gvt_err("fail to wait workload, skip\n");
-		}
+		} else
+			workload->status = 0;
 
 complete:
 		gvt_dbg_sched("will complete workload %p\n, status: %d\n",
Signature · 6 lines
2.10.2

_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
#1 lore raw

✗ Fi.CI.BAT: failure for drm/i915/gvt: Fix workload status after wait

== Series Details ==

== Series Details ==

Series: drm/i915/gvt: Fix workload status after wait
URL : https://patchwork.freedesktop.org/series/14711/
State : failure

== Summary ==

Series 14711v1 drm/i915/gvt: Fix workload status after wait
https://patchwork.freedesktop.org/api/1.0/series/14711/revisions/1/mbox/

Test drv_module_reload_basic:

                pass       -> DMESG-WARN (fi-ilk-650)
Test gem_ctx_switch:
        Subgroup basic-default:
                pass       -> TIMEOUT    (fi-bsw-n3050)
        Subgroup basic-default-heavy:
                pass       -> INCOMPLETE (fi-bsw-n3050)
Test gem_exec_suspend:
        Subgroup basic-s3:
                pass       -> DMESG-WARN (fi-ilk-650)
Test kms_busy:
        Subgroup basic-flip-default-a:
                pass       -> DMESG-WARN (fi-ilk-650)
Test kms_pipe_crc_basic:
        Subgroup bad-nb-words-1:
                pass       -> DMESG-WARN (fi-ilk-650)
        Subgroup bad-source:
                dmesg-warn -> PASS       (fi-ilk-650)
        Subgroup hang-read-crc-pipe-a:
                dmesg-warn -> PASS       (fi-ilk-650)
        Subgroup nonblocking-crc-pipe-a-frame-sequence:
                dmesg-warn -> PASS       (fi-ilk-650)
        Subgroup read-crc-pipe-a:
                pass       -> DMESG-WARN (fi-ilk-650)
        Subgroup suspend-read-crc-pipe-a:
                dmesg-warn -> PASS       (fi-ilk-650)
fi-bdw-5557u     total:241  pass:226  dwarn:0   dfail:0   fail:0   skip:15 
fi-bsw-n3050     total:23   pass:21   dwarn:0   dfail:0   fail:0   skip:0  
fi-bxt-t5700     total:241  pass:213  dwarn:0   dfail:0   fail:0   skip:28 
fi-byt-j1900     total:241  pass:213  dwarn:0   dfail:0   fail:0   skip:28 
fi-byt-n2820     total:241  pass:209  dwarn:0   dfail:0   fail:0   skip:32 
fi-hsw-4770      total:241  pass:221  dwarn:0   dfail:0   fail:0   skip:20 
fi-hsw-4770r     total:241  pass:220  dwarn:0   dfail:0   fail:0   skip:21 
fi-ilk-650       total:241  pass:181  dwarn:6   dfail:0   fail:0   skip:54 
fi-ivb-3520m     total:241  pass:218  dwarn:0   dfail:0   fail:0   skip:23 
fi-ivb-3770      total:241  pass:218  dwarn:0   dfail:0   fail:0   skip:23 
fi-kbl-7200u     total:241  pass:219  dwarn:0   dfail:0   fail:0   skip:22 
fi-skl-6260u     total:241  pass:227  dwarn:0   dfail:0   fail:0   skip:14 
fi-skl-6700hq    total:241  pass:220  dwarn:0   dfail:0   fail:0   skip:21 
fi-skl-6700k     total:241  pass:219  dwarn:1   dfail:0   fail:0   skip:21 
fi-skl-6770hq    total:241  pass:227  dwarn:0   dfail:0   fail:0   skip:14 
fi-snb-2520m     total:241  pass:208  dwarn:0   dfail:0   fail:0   skip:33 
fi-snb-2600      total:241  pass:207  dwarn:0   dfail:0   fail:0   skip:34 

c5ad9c11e819eebcad5b9be5aa5e991e89b26965 drm-intel-nightly: 2016y-11m-01d-16h-36m-25s UTC integration manifest 6995b34 drm/i915/gvt: Fix workload status after wait

== Logs ==

For more details see: https://intel-gfx-ci.01.org/CI/Patchwork_2883/
_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

#2 lore raw

Re: ✗ Fi.CI.BAT: failure for drm/i915/gvt: Fix workload status after wait

Quoted 8 lines

== Series Details ==

Series: drm/i915/gvt: Fix workload status after wait
URL : https://patchwork.freedesktop.org/series/14711/
State : failure

== Summary ==

Quoted 8 lines

Series 14711v1 drm/i915/gvt: Fix workload status after wait
https://patchwork.freedesktop.org/api/1.0/series/14711/revisions/1/mbox/

Test drv_module_reload_basic:

                pass       -> DMESG-WARN (fi-ilk-650)
Test gem_ctx_switch:
        Subgroup basic-default:
                pass       -> TIMEOUT    (fi-bsw-n3050)

Seen also on CI: https://intel-gfx-ci.01.org/CI/fi-bsw-n3050.html => (CI_DRM_1772 / Oct 27).

running: igt/gem_ctx_switch/basic-default
[021/241] pass: 21 /
timeout: igt/gem_ctx_switch/basic-default
[022/241] pass: 21, timeout: 1 /
running: igt/gem_ctx_switch/basic-default-heavy [022/241] pass: 21, timeout: 1 -
Build timed out (after 17 minutes). Marking the build as aborted.

Quoted 11 lines
        Subgroup basic-default-heavy:
                pass       -> INCOMPLETE (fi-bsw-n3050)
Test gem_exec_suspend:
        Subgroup basic-s3:
                pass       -> DMESG-WARN (fi-ilk-650)
Test kms_busy:
        Subgroup basic-flip-default-a:
                pass       -> DMESG-WARN (fi-ilk-650)
Test kms_pipe_crc_basic:
        Subgroup bad-nb-words-1:
                pass       -> DMESG-WARN (fi-ilk-650)

These all ILK-650 cases seems to be https://bugs.freedesktop.org/show_bug.cgi?id=98531 ?

Quoted 14 lines
        Subgroup bad-source:
                dmesg-warn -> PASS       (fi-ilk-650)
        Subgroup hang-read-crc-pipe-a:
                dmesg-warn -> PASS       (fi-ilk-650)
        Subgroup nonblocking-crc-pipe-a-frame-sequence:
                dmesg-warn -> PASS       (fi-ilk-650)
        Subgroup read-crc-pipe-a:
                pass       -> DMESG-WARN (fi-ilk-650)
        Subgroup suspend-read-crc-pipe-a:
                dmesg-warn -> PASS       (fi-ilk-650)
fi-bsw-n3050     total:23   pass:21   dwarn:0   dfail:0   fail:0   skip:0
fi-ilk-650       total:241  pass:181  dwarn:6   dfail:0   fail:0   skip:54
Quoted 7 lines

c5ad9c11e819eebcad5b9be5aa5e991e89b26965 drm-intel-nightly: 2016y- 11m-01d-16h-36m-25s UTC integration manifest
6995b34 drm/i915/gvt: Fix workload status after wait

== Logs ==

For more details see: https://intel-gfx-ci.01.org/CI/Patchwork_2883/

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

_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

maintainer
#3 lore raw
In reply to Zhenyu Wang
Quoted 5 lines · Zhenyu Wang

From commit e95433c73a11759203af1cae5958f998c9673370, workload status setting was changed to only capture on error path, but we need to set it properly in normal path too, otherwise we'll fail to complete workload which could lead guest VM vGPU reset.

Should have Fixes tag with the above commit.

drivers/gpu/drm/i915/gvt/scheduler.c static int workload_thread(void *priv) · line 459

Quoted 7 lines
drivers/gpu/drm/i915/gvt/scheduler.c +2 -1
@@ -455,7 +455,8 @@ static int workload_thread(void *priv)
  		if (lret < 0) {
  			workload->status = lret;
  			gvt_err("fail to wait workload, skip\n");
-		}
+		} else
+			workload->status = 0;

All branches of if-else continuum must use braces if one does, so "} else {" here

Regards, Joonas

Signature · 7 lines
Joonas Lahtinen
Open Source Technology Center
Intel Corporation
_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
#4 lore raw
Quoted 9 lines · Joonas Lahtinen
Quoted 5 lines · Zhenyu Wang

From commit e95433c73a11759203af1cae5958f998c9673370, workload status setting was changed to only capture on error path, but we need to set it properly in normal path too, otherwise we'll fail to complete workload which could lead guest VM vGPU reset.

Should have Fixes tag with the above commit.

Quoted 11 lines

drivers/gpu/drm/i915/gvt/scheduler.c static int workload_thread(void *priv) · line 459

Quoted 7 lines
drivers/gpu/drm/i915/gvt/scheduler.c +2 -1
@@ -455,7 +455,8 @@ static int workload_thread(void *priv)
  		if (lret < 0) {
  			workload->status = lret;
  			gvt_err("fail to wait workload, skip\n");
-		}
+		} else
+			workload->status = 0;

All branches of if-else continuum must use braces if one does, so "} else {" here

Thanks for the review. I'll queue this up in gvt-linux tree as it stopped our testing and will be included in next pull request.

Signature · 3 lines
Open Source Technology Center, Intel ltd.

$gpg --keyserver wwwkeys.pgp.net --recv-keys 4D781827

_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx