* [CI] drm/i915/selftests: Improve switch-to-kernel-context checking @ 2019-03-07 21:19 Chris Wilson 2019-03-07 23:30 ` ✓ Fi.CI.BAT: success for " Patchwork 2019-03-08 1:46 ` ✓ Fi.CI.IGT: " Patchwork 0 siblings, 2 replies; 3+ messages in thread From: Chris Wilson @ 2019-03-07 21:19 UTC (permalink / raw) To: intel-gfx We can reduce the switch-to-kernel-context selftest to operate as a loop and so trivially test another state transition (that of idle->busy). Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> --- .../gpu/drm/i915/selftests/i915_gem_context.c | 80 ++++++++----------- 1 file changed, 35 insertions(+), 45 deletions(-) diff --git a/drivers/gpu/drm/i915/selftests/i915_gem_context.c b/drivers/gpu/drm/i915/selftests/i915_gem_context.c index 0346ff224d5d..755c4a7304b2 100644 --- a/drivers/gpu/drm/i915/selftests/i915_gem_context.c +++ b/drivers/gpu/drm/i915/selftests/i915_gem_context.c @@ -1493,63 +1493,55 @@ static int __igt_switch_to_kernel_context(struct drm_i915_private *i915, { struct intel_engine_cs *engine; unsigned int tmp; - int err; + int pass; GEM_TRACE("Testing %s\n", __engine_name(i915, engines)); - for_each_engine_masked(engine, i915, engines, tmp) { - struct i915_request *rq; + for (pass = 0; pass < 4; pass++) { /* Once busy; once idle; repeat */ + bool from_idle = pass & 1; + int err; - rq = i915_request_alloc(engine, ctx); - if (IS_ERR(rq)) - return PTR_ERR(rq); + if (!from_idle) { + for_each_engine_masked(engine, i915, engines, tmp) { + struct i915_request *rq; - i915_request_add(rq); - } + rq = i915_request_alloc(engine, ctx); + if (IS_ERR(rq)) + return PTR_ERR(rq); - err = i915_gem_switch_to_kernel_context(i915); - if (err) - return err; - - for_each_engine_masked(engine, i915, engines, tmp) { - if (!engine_has_kernel_context_barrier(engine)) { - pr_err("kernel context not last on engine %s!\n", - engine->name); - return -EINVAL; + i915_request_add(rq); + } } - } - err = i915_gem_wait_for_idle(i915, - I915_WAIT_LOCKED, - MAX_SCHEDULE_TIMEOUT); - if (err) - return err; + err = i915_gem_switch_to_kernel_context(i915); + if (err) + return err; - GEM_BUG_ON(i915->gt.active_requests); - for_each_engine_masked(engine, i915, engines, tmp) { - if (engine->last_retired_context->gem_context != i915->kernel_context) { - pr_err("engine %s not idling in kernel context!\n", - engine->name); + if (!from_idle) { + err = i915_gem_wait_for_idle(i915, + I915_WAIT_LOCKED, + MAX_SCHEDULE_TIMEOUT); + if (err) + return err; + } + + if (i915->gt.active_requests) { + pr_err("%d active requests remain after switching to kernel context, pass %d (%s) on %s engine%s\n", + i915->gt.active_requests, + pass, from_idle ? "idle" : "busy", + __engine_name(i915, engines), + is_power_of_2(engines) ? "" : "s"); return -EINVAL; } - } - err = i915_gem_switch_to_kernel_context(i915); - if (err) - return err; + /* XXX Bonus points for proving we are the kernel context! */ - if (i915->gt.active_requests) { - pr_err("switch-to-kernel-context emitted %d requests even though it should already be idling in the kernel context\n", - i915->gt.active_requests); - return -EINVAL; + mutex_unlock(&i915->drm.struct_mutex); + drain_delayed_work(&i915->gt.idle_work); + mutex_lock(&i915->drm.struct_mutex); } - for_each_engine_masked(engine, i915, engines, tmp) { - if (!intel_engine_has_kernel_context(engine)) { - pr_err("kernel context not last on engine %s!\n", - engine->name); - return -EINVAL; - } - } + if (igt_flush_test(i915, I915_WAIT_LOCKED)) + return -EIO; return 0; } @@ -1593,8 +1585,6 @@ static int igt_switch_to_kernel_context(void *arg) out_unlock: GEM_TRACE_DUMP_ON(err); - if (igt_flush_test(i915, I915_WAIT_LOCKED)) - err = -EIO; intel_runtime_pm_put(i915, wakeref); mutex_unlock(&i915->drm.struct_mutex); -- 2.20.1 _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply related [flat|nested] 3+ messages in thread
* ✓ Fi.CI.BAT: success for drm/i915/selftests: Improve switch-to-kernel-context checking 2019-03-07 21:19 [CI] drm/i915/selftests: Improve switch-to-kernel-context checking Chris Wilson @ 2019-03-07 23:30 ` Patchwork 2019-03-08 1:46 ` ✓ Fi.CI.IGT: " Patchwork 1 sibling, 0 replies; 3+ messages in thread From: Patchwork @ 2019-03-07 23:30 UTC (permalink / raw) To: Chris Wilson; +Cc: intel-gfx == Series Details == Series: drm/i915/selftests: Improve switch-to-kernel-context checking URL : https://patchwork.freedesktop.org/series/57708/ State : success == Summary == CI Bug Log - changes from CI_DRM_5717 -> Patchwork_12411 ==================================================== Summary ------- **SUCCESS** No regressions found. External URL: https://patchwork.freedesktop.org/api/1.0/series/57708/revisions/1/mbox/ Known issues ------------ Here are the changes found in Patchwork_12411 that come from known issues: ### IGT changes ### #### Issues hit #### * igt@amdgpu/amd_basic@semaphore: - fi-bdw-5557u: NOTRUN -> SKIP [fdo#109271] +38 * igt@amdgpu/amd_cs_nop@sync-fork-compute0: - fi-snb-2600: NOTRUN -> SKIP [fdo#109271] +17 * igt@i915_module_load@reload-with-fault-injection: - fi-kbl-7560u: PASS -> INCOMPLETE [fdo#109831] * igt@kms_busy@basic-flip-c: - fi-blb-e6850: NOTRUN -> SKIP [fdo#109271] / [fdo#109278] * igt@kms_chamelium@common-hpd-after-suspend: - fi-kbl-7567u: PASS -> WARN [fdo#109380] * igt@kms_frontbuffer_tracking@basic: - fi-byt-clapper: PASS -> FAIL [fdo#103167] * igt@kms_pipe_crc_basic@hang-read-crc-pipe-c: - fi-blb-e6850: NOTRUN -> SKIP [fdo#109271] +48 * igt@kms_pipe_crc_basic@nonblocking-crc-pipe-c: - fi-kbl-7567u: PASS -> SKIP [fdo#109271] +33 #### Possible fixes #### * igt@gem_exec_suspend@basic-s3: - fi-blb-e6850: INCOMPLETE [fdo#107718] -> PASS * igt@kms_pipe_crc_basic@nonblocking-crc-pipe-b: - fi-byt-clapper: FAIL [fdo#107362] -> PASS #### Warnings #### * igt@i915_selftest@live_contexts: - fi-icl-u2: INCOMPLETE [fdo#108569] -> DMESG-FAIL [fdo#108569] [fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167 [fdo#107362]: https://bugs.freedesktop.org/show_bug.cgi?id=107362 [fdo#107718]: https://bugs.freedesktop.org/show_bug.cgi?id=107718 [fdo#108569]: https://bugs.freedesktop.org/show_bug.cgi?id=108569 [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271 [fdo#109278]: https://bugs.freedesktop.org/show_bug.cgi?id=109278 [fdo#109380]: https://bugs.freedesktop.org/show_bug.cgi?id=109380 [fdo#109831]: https://bugs.freedesktop.org/show_bug.cgi?id=109831 Participating hosts (43 -> 39) ------------------------------ Additional (1): fi-bdw-5557u Missing (5): fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-icl-u3 Build changes ------------- * Linux: CI_DRM_5717 -> Patchwork_12411 CI_DRM_5717: e662cd77ee5fe0bc928fa61cc1ce561ccd410daf @ git://anongit.freedesktop.org/gfx-ci/linux IGT_4876: 51b8d4cfde8d5b0176180b9683accea91474c7ff @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools Patchwork_12411: a4ff22c0e330d82d9d3d9de193a262e29551d55c @ git://anongit.freedesktop.org/gfx-ci/linux == Linux commits == a4ff22c0e330 drm/i915/selftests: Improve switch-to-kernel-context checking == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12411/ _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 3+ messages in thread
* ✓ Fi.CI.IGT: success for drm/i915/selftests: Improve switch-to-kernel-context checking 2019-03-07 21:19 [CI] drm/i915/selftests: Improve switch-to-kernel-context checking Chris Wilson 2019-03-07 23:30 ` ✓ Fi.CI.BAT: success for " Patchwork @ 2019-03-08 1:46 ` Patchwork 1 sibling, 0 replies; 3+ messages in thread From: Patchwork @ 2019-03-08 1:46 UTC (permalink / raw) To: Chris Wilson; +Cc: intel-gfx == Series Details == Series: drm/i915/selftests: Improve switch-to-kernel-context checking URL : https://patchwork.freedesktop.org/series/57708/ State : success == Summary == CI Bug Log - changes from CI_DRM_5717_full -> Patchwork_12411_full ==================================================== Summary ------- **SUCCESS** No regressions found. Known issues ------------ Here are the changes found in Patchwork_12411_full that come from known issues: ### IGT changes ### #### Issues hit #### * igt@gem_exec_schedule@deep-bsd: - shard-snb: NOTRUN -> SKIP [fdo#109271] +30 * igt@gem_persistent_relocs@forked-thrashing: - shard-hsw: PASS -> INCOMPLETE [fdo#103540] * igt@gem_pwrite@stolen-normal: - shard-skl: NOTRUN -> SKIP [fdo#109271] +30 * igt@kms_busy@extended-pageflip-hang-newfb-render-e: - shard-skl: NOTRUN -> SKIP [fdo#109271] / [fdo#109278] * igt@kms_chv_cursor_fail@pipe-c-64x64-top-edge: - shard-snb: NOTRUN -> SKIP [fdo#109271] / [fdo#109278] +3 * igt@kms_color@pipe-b-ctm-max: - shard-skl: NOTRUN -> FAIL [fdo#108147] * igt@kms_cursor_crc@cursor-128x42-offscreen: - shard-skl: NOTRUN -> FAIL [fdo#103232] * igt@kms_cursor_crc@cursor-256x85-random: - shard-apl: PASS -> FAIL [fdo#103232] +3 * igt@kms_cursor_crc@cursor-64x64-suspend: - shard-skl: NOTRUN -> FAIL [fdo#103191] / [fdo#103232] * igt@kms_fbcon_fbt@fbc-suspend: - shard-skl: PASS -> INCOMPLETE [fdo#104108] * igt@kms_flip@dpms-vs-vblank-race: - shard-apl: PASS -> FAIL [fdo#103060] * igt@kms_flip@flip-vs-expired-vblank: - shard-skl: PASS -> FAIL [fdo#105363] * igt@kms_flip@plain-flip-ts-check-interruptible: - shard-skl: PASS -> FAIL [fdo#100368] * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-blt: - shard-glk: PASS -> FAIL [fdo#103167] +1 * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-fullscreen: - shard-apl: PASS -> FAIL [fdo#103167] +2 * igt@kms_plane_alpha_blend@pipe-b-coverage-7efc: - shard-skl: NOTRUN -> FAIL [fdo#107815] * igt@kms_plane_alpha_blend@pipe-c-alpha-basic: - shard-skl: NOTRUN -> FAIL [fdo#107815] / [fdo#108145] * igt@kms_plane_multiple@atomic-pipe-c-tiling-x: - shard-glk: PASS -> FAIL [fdo#103166] * igt@kms_rotation_crc@multiplane-rotation-cropping-top: - shard-kbl: PASS -> FAIL [fdo#109016] * igt@kms_setmode@basic: - shard-apl: PASS -> FAIL [fdo#99912] - shard-kbl: PASS -> FAIL [fdo#99912] * igt@kms_universal_plane@universal-plane-pipe-a-functional: - shard-apl: PASS -> FAIL [fdo#103166] * igt@kms_vblank@pipe-b-ts-continuation-modeset-hang: - shard-apl: PASS -> FAIL [fdo#104894] #### Possible fixes #### * igt@gem_softpin@noreloc-s3: - shard-kbl: DMESG-WARN [fdo#108566] -> PASS * igt@i915_pm_rpm@system-suspend: - shard-skl: INCOMPLETE [fdo#104108] / [fdo#107807] -> PASS * igt@kms_atomic_transition@1x-modeset-transitions-nonblocking: - shard-apl: FAIL [fdo#109660] -> PASS * igt@kms_ccs@pipe-a-crc-sprite-planes-basic: - shard-glk: FAIL [fdo#108145] -> PASS * igt@kms_color@pipe-c-ctm-green-to-red: - shard-skl: FAIL [fdo#107201] -> PASS * igt@kms_flip@2x-dpms-vs-vblank-race-interruptible: - shard-glk: FAIL [fdo#103060] -> PASS * igt@kms_flip@modeset-vs-vblank-race: - shard-snb: FAIL [fdo#103060] -> PASS * igt@kms_plane@pixel-format-pipe-b-planes-source-clamping: - shard-apl: FAIL [fdo#108948] -> PASS * igt@kms_plane_multiple@atomic-pipe-c-tiling-y: - shard-glk: FAIL [fdo#103166] -> PASS * igt@kms_rotation_crc@multiplane-rotation-cropping-bottom: - shard-kbl: DMESG-FAIL [fdo#105763] -> PASS * igt@kms_vblank@pipe-c-query-forked-hang: - shard-skl: INCOMPLETE -> PASS {name}: This element is suppressed. This means it is ignored when computing the status of the difference (SUCCESS, WARNING, or FAILURE). [fdo#100368]: https://bugs.freedesktop.org/show_bug.cgi?id=100368 [fdo#103060]: https://bugs.freedesktop.org/show_bug.cgi?id=103060 [fdo#103166]: https://bugs.freedesktop.org/show_bug.cgi?id=103166 [fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167 [fdo#103191]: https://bugs.freedesktop.org/show_bug.cgi?id=103191 [fdo#103232]: https://bugs.freedesktop.org/show_bug.cgi?id=103232 [fdo#103540]: https://bugs.freedesktop.org/show_bug.cgi?id=103540 [fdo#104108]: https://bugs.freedesktop.org/show_bug.cgi?id=104108 [fdo#104894]: https://bugs.freedesktop.org/show_bug.cgi?id=104894 [fdo#105363]: https://bugs.freedesktop.org/show_bug.cgi?id=105363 [fdo#105763]: https://bugs.freedesktop.org/show_bug.cgi?id=105763 [fdo#107201]: https://bugs.freedesktop.org/show_bug.cgi?id=107201 [fdo#107807]: https://bugs.freedesktop.org/show_bug.cgi?id=107807 [fdo#107815]: https://bugs.freedesktop.org/show_bug.cgi?id=107815 [fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145 [fdo#108147]: https://bugs.freedesktop.org/show_bug.cgi?id=108147 [fdo#108566]: https://bugs.freedesktop.org/show_bug.cgi?id=108566 [fdo#108948]: https://bugs.freedesktop.org/show_bug.cgi?id=108948 [fdo#109016]: https://bugs.freedesktop.org/show_bug.cgi?id=109016 [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271 [fdo#109278]: https://bugs.freedesktop.org/show_bug.cgi?id=109278 [fdo#109660]: https://bugs.freedesktop.org/show_bug.cgi?id=109660 [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_5717 -> Patchwork_12411 CI_DRM_5717: e662cd77ee5fe0bc928fa61cc1ce561ccd410daf @ git://anongit.freedesktop.org/gfx-ci/linux IGT_4876: 51b8d4cfde8d5b0176180b9683accea91474c7ff @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools Patchwork_12411: a4ff22c0e330d82d9d3d9de193a262e29551d55c @ 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_12411/ _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2019-03-08 1:46 UTC | newest] Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2019-03-07 21:19 [CI] drm/i915/selftests: Improve switch-to-kernel-context checking Chris Wilson 2019-03-07 23:30 ` ✓ Fi.CI.BAT: success for " Patchwork 2019-03-08 1:46 ` ✓ 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.