diff mbox series

drm/i915/selftests: Don't restart WL for every frequency step

Message ID 20220120174243.13726-1-vinay.belgaumkar@intel.com (mailing list archive)
State New, archived
Headers show
Series drm/i915/selftests: Don't restart WL for every frequency step | expand

Commit Message

Vinay Belgaumkar Jan. 20, 2022, 5:42 p.m. UTC
Move spinner start out of the steps loop. If we restart WL for each
freq step, the rapid start/stop causes SLPC algorithm to think that
GT busyness is 50% for it's evaluation interval. This leads to SLPC
not increasing the requested frequency as per the test expectation.

Fixes: 8ee2c227822e (drm/i915/guc/slpc: Add SLPC selftest)

Signed-off-by: Vinay Belgaumkar <vinay.belgaumkar@intel.com>
---
 drivers/gpu/drm/i915/gt/selftest_slpc.c | 104 ++++++++++++------------
 1 file changed, 52 insertions(+), 52 deletions(-)

Comments

Vinay Belgaumkar Jan. 20, 2022, 8:48 p.m. UTC | #1
On 1/20/2022 11:40 AM, Patchwork wrote:
> Project List - Patchwork *Patch Details*
> *Series:* 	drm/i915/selftests: Don't restart WL for every frequency step
> *URL:* 	https://patchwork.freedesktop.org/series/99109/
> *State:* 	failure
> *Details:* 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22043/index.html
>
>
>   CI Bug Log - changes from CI_DRM_11113 -> Patchwork_22043
>
>
>     Summary
>
> *FAILURE*
>
> Serious unknown changes coming with Patchwork_22043 absolutely need to be
> verified manually.
>
> If you think the reported changes have nothing to do with the changes
> introduced in Patchwork_22043, please notify your bug team to allow them
> to document this new failure mode, which will reduce false positives 
> in CI.
>
> External URL: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22043/index.html
>
>
>     Participating hosts (43 -> 35)
>
> Additional (3): fi-kbl-soraka fi-kbl-guc fi-apl-guc
> Missing (11): bat-dg1-6 bat-dg1-5 fi-bsw-cyan bat-adlp-6 bat-adlp-4 
> fi-kbl-8809g fi-pnv-d510 bat-rpls-1 fi-bdw-samus bat-jsl-2 bat-jsl-1
>
>
>     Possible new issues
>
> Here are the unknown changes that may have been introduced in 
> Patchwork_22043:
>
>
>       IGT changes
>
>
>         Possible regressions
>
>   * igt@i915_selftest@live@gt_engines:
>       o fi-rkl-guc: PASS
>         <https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11113/fi-rkl-guc/igt@i915_selftest@live@gt_engines.html>
>         -> INCOMPLETE
>         <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22043/fi-rkl-guc/igt@i915_selftest@live@gt_engines.html>
>
This failure is not related to the patch. It only changes a selftest, so 
shouldn't affect any other test.

Thanks,

Vinay.

>  *
>
>
>     Known issues
>
> Here are the changes found in Patchwork_22043 that come from known issues:
>
>
>       IGT changes
>
>
>         Issues hit
>
>  *
>
>     igt@debugfs_test@read_all_entries:
>
>       o fi-apl-guc: NOTRUN -> DMESG-WARN
>         <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22043/fi-apl-guc/igt@debugfs_test@read_all_entries.html>
>         (i915#1610 <https://gitlab.freedesktop.org/drm/intel/issues/1610>)
>  *
>
>     igt@gem_exec_fence@basic-busy@bcs0:
>
>       o fi-kbl-soraka: NOTRUN -> SKIP
>         <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22043/fi-kbl-soraka/igt@gem_exec_fence@basic-busy@bcs0.html>
>         (fdo#109271
>         <https://bugs.freedesktop.org/show_bug.cgi?id=109271>) +8
>         similar issues
>  *
>
>     igt@gem_exec_suspend@basic-s3@smem:
>
>       o fi-skl-6600u: PASS
>         <https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11113/fi-skl-6600u/igt@gem_exec_suspend@basic-s3@smem.html>
>         -> INCOMPLETE
>         <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22043/fi-skl-6600u/igt@gem_exec_suspend@basic-s3@smem.html>
>         (i915#4547 <https://gitlab.freedesktop.org/drm/intel/issues/4547>)
>  *
>
>     igt@gem_huc_copy@huc-copy:
>
>       o fi-kbl-soraka: NOTRUN -> SKIP
>         <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22043/fi-kbl-soraka/igt@gem_huc_copy@huc-copy.html>
>         (fdo#109271
>         <https://bugs.freedesktop.org/show_bug.cgi?id=109271> /
>         i915#2190 <https://gitlab.freedesktop.org/drm/intel/issues/2190>)
>  *
>
>     igt@gem_lmem_swapping@basic:
>
>      o
>
>         fi-kbl-guc: NOTRUN -> SKIP
>         <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22043/fi-kbl-guc/igt@gem_lmem_swapping@basic.html>
>         (fdo#109271
>         <https://bugs.freedesktop.org/show_bug.cgi?id=109271> /
>         i915#4613
>         <https://gitlab.freedesktop.org/drm/intel/issues/4613>) +3
>         similar issues
>
>      o
>
>         fi-kbl-soraka: NOTRUN -> SKIP
>         <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22043/fi-kbl-soraka/igt@gem_lmem_swapping@basic.html>
>         (fdo#109271
>         <https://bugs.freedesktop.org/show_bug.cgi?id=109271> /
>         i915#4613
>         <https://gitlab.freedesktop.org/drm/intel/issues/4613>) +3
>         similar issues
>
>  *
>
>     igt@i915_selftest@live@gt_pm:
>
>       o fi-kbl-soraka: NOTRUN -> DMESG-FAIL
>         <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22043/fi-kbl-soraka/igt@i915_selftest@live@gt_pm.html>
>         (i915#1886
>         <https://gitlab.freedesktop.org/drm/intel/issues/1886> /
>         i915#2291 <https://gitlab.freedesktop.org/drm/intel/issues/2291>)
>  *
>
>     igt@i915_selftest@live@hangcheck:
>
>       o fi-snb-2600: PASS
>         <https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11113/fi-snb-2600/igt@i915_selftest@live@hangcheck.html>
>         -> INCOMPLETE
>         <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22043/fi-snb-2600/igt@i915_selftest@live@hangcheck.html>
>         (i915#3921 <https://gitlab.freedesktop.org/drm/intel/issues/3921>)
>  *
>
>     igt@kms_busy@basic:
>
>       o fi-kbl-guc: NOTRUN -> SKIP
>         <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22043/fi-kbl-guc/igt@kms_busy@basic.html>
>         (fdo#109271
>         <https://bugs.freedesktop.org/show_bug.cgi?id=109271> /
>         i915#1845 <https://gitlab.freedesktop.org/drm/intel/issues/1845>)
>  *
>
>     igt@kms_chamelium@common-hpd-after-suspend:
>
>       o fi-kbl-soraka: NOTRUN -> SKIP
>         <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22043/fi-kbl-soraka/igt@kms_chamelium@common-hpd-after-suspend.html>
>         (fdo#109271
>         <https://bugs.freedesktop.org/show_bug.cgi?id=109271> /
>         fdo#111827
>         <https://bugs.freedesktop.org/show_bug.cgi?id=111827>) +8
>         similar issues
>  *
>
>     igt@kms_chamelium@vga-hpd-fast:
>
>       o fi-kbl-guc: NOTRUN -> SKIP
>         <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22043/fi-kbl-guc/igt@kms_chamelium@vga-hpd-fast.html>
>         (fdo#109271
>         <https://bugs.freedesktop.org/show_bug.cgi?id=109271> /
>         fdo#111827
>         <https://bugs.freedesktop.org/show_bug.cgi?id=111827>) +8
>         similar issues
>  *
>
>     igt@kms_frontbuffer_tracking@basic:
>
>       o fi-cml-u2: PASS
>         <https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11113/fi-cml-u2/igt@kms_frontbuffer_tracking@basic.html>
>         -> DMESG-WARN
>         <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22043/fi-cml-u2/igt@kms_frontbuffer_tracking@basic.html>
>         (i915#4269 <https://gitlab.freedesktop.org/drm/intel/issues/4269>)
>  *
>
>     igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-d:
>
>      o
>
>         fi-kbl-guc: NOTRUN -> SKIP
>         <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22043/fi-kbl-guc/igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-d.html>
>         (fdo#109271
>         <https://bugs.freedesktop.org/show_bug.cgi?id=109271> /
>         i915#533 <https://gitlab.freedesktop.org/drm/intel/issues/533>)
>
>      o
>
>         fi-kbl-soraka: NOTRUN -> SKIP
>         <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22043/fi-kbl-soraka/igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-d.html>
>         (fdo#109271
>         <https://bugs.freedesktop.org/show_bug.cgi?id=109271> /
>         i915#533 <https://gitlab.freedesktop.org/drm/intel/issues/533>)
>
>  *
>
>     igt@kms_pipe_crc_basic@read-crc-pipe-c:
>
>       o fi-kbl-guc: NOTRUN -> SKIP
>         <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22043/fi-kbl-guc/igt@kms_pipe_crc_basic@read-crc-pipe-c.html>
>         (fdo#109271
>         <https://bugs.freedesktop.org/show_bug.cgi?id=109271>) +40
>         similar issues
>  *
>
>     igt@runner@aborted:
>
>      o
>
>         fi-apl-guc: NOTRUN -> FAIL
>         <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22043/fi-apl-guc/igt@runner@aborted.html>
>         (i915#2426
>         <https://gitlab.freedesktop.org/drm/intel/issues/2426> /
>         i915#4312 <https://gitlab.freedesktop.org/drm/intel/issues/4312>)
>
>      o
>
>         fi-rkl-guc: NOTRUN -> FAIL
>         <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22043/fi-rkl-guc/igt@runner@aborted.html>
>         (i915#4312 <https://gitlab.freedesktop.org/drm/intel/issues/4312>)
>
>
>         Possible fixes
>
>   * igt@gem_exec_suspend@basic-s0@smem:
>       o fi-tgl-1115g4: FAIL
>         <https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11113/fi-tgl-1115g4/igt@gem_exec_suspend@basic-s0@smem.html>
>         (i915#1888
>         <https://gitlab.freedesktop.org/drm/intel/issues/1888>) ->
>         PASS
>         <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22043/fi-tgl-1115g4/igt@gem_exec_suspend@basic-s0@smem.html>
>
> {name}: This element is suppressed. This means it is ignored when 
> computing
> the status of the difference (SUCCESS, WARNING, or FAILURE).
>
>
>     Build changes
>
>   * Linux: CI_DRM_11113 -> Patchwork_22043
>
> CI-20190529: 20190529
> CI_DRM_11113: 57f2665c86d2a07d1376495039e73cc06fe3a517 @ 
> git://anongit.freedesktop.org/gfx-ci/linux
> IGT_6329: 38f656fdd61119105ecfa2c4dac157cd7dcad204 @ 
> https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
> Patchwork_22043: d8a9b640c217628068101921ce0a1baf5d32d2a8 @ 
> git://anongit.freedesktop.org/gfx-ci/linux
>
> == Linux commits ==
>
> d8a9b640c217 drm/i915/selftests: Don't restart WL for every frequency step
>
diff mbox series

Patch

diff --git a/drivers/gpu/drm/i915/gt/selftest_slpc.c b/drivers/gpu/drm/i915/gt/selftest_slpc.c
index b768cea5943d..eef416747c67 100644
--- a/drivers/gpu/drm/i915/gt/selftest_slpc.c
+++ b/drivers/gpu/drm/i915/gt/selftest_slpc.c
@@ -79,6 +79,29 @@  static int live_slpc_clamp_min(void *arg)
 		if (!intel_engine_can_store_dword(engine))
 			continue;
 
+		st_engine_heartbeat_disable(engine);
+
+		rq = igt_spinner_create_request(&spin,
+						engine->kernel_context,
+						MI_NOOP);
+		if (IS_ERR(rq)) {
+			err = PTR_ERR(rq);
+			st_engine_heartbeat_enable(engine);
+			break;
+		}
+
+		i915_request_add(rq);
+
+		if (!igt_wait_for_spinner(&spin, rq)) {
+			pr_err("%s: Spinner did not start\n",
+			       engine->name);
+			igt_spinner_end(&spin);
+			st_engine_heartbeat_enable(engine);
+			intel_gt_set_wedged(engine->gt);
+			err = -EIO;
+			break;
+		}
+
 		/* Go from min to max in 5 steps */
 		step = (slpc_max_freq - slpc_min_freq) / NUM_STEPS;
 		max_act_freq = slpc_min_freq;
@@ -88,29 +111,6 @@  static int live_slpc_clamp_min(void *arg)
 			if (err)
 				break;
 
-			st_engine_heartbeat_disable(engine);
-
-			rq = igt_spinner_create_request(&spin,
-							engine->kernel_context,
-							MI_NOOP);
-			if (IS_ERR(rq)) {
-				err = PTR_ERR(rq);
-				st_engine_heartbeat_enable(engine);
-				break;
-			}
-
-			i915_request_add(rq);
-
-			if (!igt_wait_for_spinner(&spin, rq)) {
-				pr_err("%s: Spinner did not start\n",
-				       engine->name);
-				igt_spinner_end(&spin);
-				st_engine_heartbeat_enable(engine);
-				intel_gt_set_wedged(engine->gt);
-				err = -EIO;
-				break;
-			}
-
 			/* Wait for GuC to detect business and raise
 			 * requested frequency if necessary.
 			 */
@@ -131,9 +131,6 @@  static int live_slpc_clamp_min(void *arg)
 			act_freq =  intel_rps_read_actual_frequency(rps);
 			if (act_freq > max_act_freq)
 				max_act_freq = act_freq;
-
-			igt_spinner_end(&spin);
-			st_engine_heartbeat_enable(engine);
 		}
 
 		pr_info("Max actual frequency for %s was %d\n",
@@ -145,6 +142,9 @@  static int live_slpc_clamp_min(void *arg)
 			err = -EINVAL;
 		}
 
+		igt_spinner_end(&spin);
+		st_engine_heartbeat_enable(engine);
+
 		if (err)
 			break;
 	}
@@ -210,6 +210,29 @@  static int live_slpc_clamp_max(void *arg)
 		if (!intel_engine_can_store_dword(engine))
 			continue;
 
+		st_engine_heartbeat_disable(engine);
+
+		rq = igt_spinner_create_request(&spin,
+						engine->kernel_context,
+						MI_NOOP);
+		if (IS_ERR(rq)) {
+			st_engine_heartbeat_enable(engine);
+			err = PTR_ERR(rq);
+			break;
+		}
+
+		i915_request_add(rq);
+
+		if (!igt_wait_for_spinner(&spin, rq)) {
+			pr_err("%s: SLPC spinner did not start\n",
+			       engine->name);
+			igt_spinner_end(&spin);
+			st_engine_heartbeat_enable(engine);
+			intel_gt_set_wedged(engine->gt);
+			err = -EIO;
+			break;
+		}
+
 		/* Go from max to min in 5 steps */
 		step = (slpc_max_freq - slpc_min_freq) / NUM_STEPS;
 		max_act_freq = slpc_min_freq;
@@ -219,29 +242,6 @@  static int live_slpc_clamp_max(void *arg)
 			if (err)
 				break;
 
-			st_engine_heartbeat_disable(engine);
-
-			rq = igt_spinner_create_request(&spin,
-							engine->kernel_context,
-							MI_NOOP);
-			if (IS_ERR(rq)) {
-				st_engine_heartbeat_enable(engine);
-				err = PTR_ERR(rq);
-				break;
-			}
-
-			i915_request_add(rq);
-
-			if (!igt_wait_for_spinner(&spin, rq)) {
-				pr_err("%s: SLPC spinner did not start\n",
-				       engine->name);
-				igt_spinner_end(&spin);
-				st_engine_heartbeat_enable(engine);
-				intel_gt_set_wedged(engine->gt);
-				err = -EIO;
-				break;
-			}
-
 			delay_for_h2g();
 
 			/* Verify that SWREQ indeed was set to specific value */
@@ -261,9 +261,6 @@  static int live_slpc_clamp_max(void *arg)
 			if (act_freq > max_act_freq)
 				max_act_freq = act_freq;
 
-			st_engine_heartbeat_enable(engine);
-			igt_spinner_end(&spin);
-
 			if (err)
 				break;
 		}
@@ -277,6 +274,9 @@  static int live_slpc_clamp_max(void *arg)
 			err = -EINVAL;
 		}
 
+		st_engine_heartbeat_enable(engine);
+		igt_spinner_end(&spin);
+
 		if (igt_flush_test(gt->i915)) {
 			err = -EIO;
 			break;