All of lore.kernel.org
 help / color / mirror / Atom feed
* [Intel-gfx] [PATCH] drm/i915/selftests: Disable C-states when measuring RPS frequency response
@ 2020-04-21 14:22 Chris Wilson
  2020-04-21 14:45 ` Mika Kuoppala
  2020-04-21 15:21 ` [Intel-gfx] ✗ Fi.CI.BAT: failure for " Patchwork
  0 siblings, 2 replies; 3+ messages in thread
From: Chris Wilson @ 2020-04-21 14:22 UTC (permalink / raw)
  To: intel-gfx; +Cc: Chris Wilson

Let's isolate the impact of cpu frequency selection on determing the GPU
throughput in response to selection of RPS frequencies.

For real systems, we do have to be concerned with the impact of
integrating c-states, p-states and rp-states, but for the sake of
proving whether or not RPS works, one baby step at a time.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
---
 drivers/gpu/drm/i915/gt/selftest_rps.c | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/drivers/gpu/drm/i915/gt/selftest_rps.c b/drivers/gpu/drm/i915/gt/selftest_rps.c
index 395265121e43..e2afc2003caa 100644
--- a/drivers/gpu/drm/i915/gt/selftest_rps.c
+++ b/drivers/gpu/drm/i915/gt/selftest_rps.c
@@ -3,6 +3,7 @@
  * Copyright © 2020 Intel Corporation
  */
 
+#include <linux/pm_qos.h>
 #include <linux/sort.h>
 
 #include "intel_engine_pm.h"
@@ -14,6 +15,9 @@
 #include "selftests/igt_spinner.h"
 #include "selftests/librapl.h"
 
+/* Try to isolate the impact of cstates from determing frequency response */
+#define CPU_LATENCY 0 /* -1 to disable pm_qos, 0 to disable cstates */
+
 static void dummy_rps_work(struct work_struct *wrk)
 {
 }
@@ -406,6 +410,7 @@ int live_rps_frequency_cs(void *arg)
 	struct intel_gt *gt = arg;
 	struct intel_rps *rps = &gt->rps;
 	struct intel_engine_cs *engine;
+	struct pm_qos_request qos;
 	enum intel_engine_id id;
 	int err = 0;
 
@@ -421,6 +426,9 @@ int live_rps_frequency_cs(void *arg)
 	if (INTEL_GEN(gt->i915) < 8) /* for CS simplicity */
 		return 0;
 
+	if (CPU_LATENCY >= 0)
+		cpu_latency_qos_add_request(&qos, CPU_LATENCY);
+
 	intel_gt_pm_wait_for_idle(gt);
 	saved_work = rps->work.func;
 	rps->work.func = dummy_rps_work;
@@ -527,6 +535,9 @@ int live_rps_frequency_cs(void *arg)
 	intel_gt_pm_wait_for_idle(gt);
 	rps->work.func = saved_work;
 
+	if (CPU_LATENCY >= 0)
+		cpu_latency_qos_remove_request(&qos);
+
 	return err;
 }
 
@@ -536,6 +547,7 @@ int live_rps_frequency_srm(void *arg)
 	struct intel_gt *gt = arg;
 	struct intel_rps *rps = &gt->rps;
 	struct intel_engine_cs *engine;
+	struct pm_qos_request qos;
 	enum intel_engine_id id;
 	int err = 0;
 
@@ -551,6 +563,9 @@ int live_rps_frequency_srm(void *arg)
 	if (INTEL_GEN(gt->i915) < 8) /* for CS simplicity */
 		return 0;
 
+	if (CPU_LATENCY >= 0)
+		cpu_latency_qos_add_request(&qos, CPU_LATENCY);
+
 	intel_gt_pm_wait_for_idle(gt);
 	saved_work = rps->work.func;
 	rps->work.func = dummy_rps_work;
@@ -656,6 +671,9 @@ int live_rps_frequency_srm(void *arg)
 	intel_gt_pm_wait_for_idle(gt);
 	rps->work.func = saved_work;
 
+	if (CPU_LATENCY >= 0)
+		cpu_latency_qos_remove_request(&qos);
+
 	return err;
 }
 
-- 
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

* Re: [Intel-gfx] [PATCH] drm/i915/selftests: Disable C-states when measuring RPS frequency response
  2020-04-21 14:22 [Intel-gfx] [PATCH] drm/i915/selftests: Disable C-states when measuring RPS frequency response Chris Wilson
@ 2020-04-21 14:45 ` Mika Kuoppala
  2020-04-21 15:21 ` [Intel-gfx] ✗ Fi.CI.BAT: failure for " Patchwork
  1 sibling, 0 replies; 3+ messages in thread
From: Mika Kuoppala @ 2020-04-21 14:45 UTC (permalink / raw)
  To: Chris Wilson, intel-gfx; +Cc: Chris Wilson

Chris Wilson <chris@chris-wilson.co.uk> writes:

> Let's isolate the impact of cpu frequency selection on determing the GPU
> throughput in response to selection of RPS frequencies.
>
> For real systems, we do have to be concerned with the impact of
> integrating c-states, p-states and rp-states, but for the sake of
> proving whether or not RPS works, one baby step at a time.
>
> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>

Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>


> ---
>  drivers/gpu/drm/i915/gt/selftest_rps.c | 18 ++++++++++++++++++
>  1 file changed, 18 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/gt/selftest_rps.c b/drivers/gpu/drm/i915/gt/selftest_rps.c
> index 395265121e43..e2afc2003caa 100644
> --- a/drivers/gpu/drm/i915/gt/selftest_rps.c
> +++ b/drivers/gpu/drm/i915/gt/selftest_rps.c
> @@ -3,6 +3,7 @@
>   * Copyright © 2020 Intel Corporation
>   */
>  
> +#include <linux/pm_qos.h>
>  #include <linux/sort.h>
>  
>  #include "intel_engine_pm.h"
> @@ -14,6 +15,9 @@
>  #include "selftests/igt_spinner.h"
>  #include "selftests/librapl.h"
>  
> +/* Try to isolate the impact of cstates from determing frequency response */
> +#define CPU_LATENCY 0 /* -1 to disable pm_qos, 0 to disable cstates */
> +
>  static void dummy_rps_work(struct work_struct *wrk)
>  {
>  }
> @@ -406,6 +410,7 @@ int live_rps_frequency_cs(void *arg)
>  	struct intel_gt *gt = arg;
>  	struct intel_rps *rps = &gt->rps;
>  	struct intel_engine_cs *engine;
> +	struct pm_qos_request qos;
>  	enum intel_engine_id id;
>  	int err = 0;
>  
> @@ -421,6 +426,9 @@ int live_rps_frequency_cs(void *arg)
>  	if (INTEL_GEN(gt->i915) < 8) /* for CS simplicity */
>  		return 0;
>  
> +	if (CPU_LATENCY >= 0)
> +		cpu_latency_qos_add_request(&qos, CPU_LATENCY);
> +
>  	intel_gt_pm_wait_for_idle(gt);
>  	saved_work = rps->work.func;
>  	rps->work.func = dummy_rps_work;
> @@ -527,6 +535,9 @@ int live_rps_frequency_cs(void *arg)
>  	intel_gt_pm_wait_for_idle(gt);
>  	rps->work.func = saved_work;
>  
> +	if (CPU_LATENCY >= 0)
> +		cpu_latency_qos_remove_request(&qos);
> +
>  	return err;
>  }
>  
> @@ -536,6 +547,7 @@ int live_rps_frequency_srm(void *arg)
>  	struct intel_gt *gt = arg;
>  	struct intel_rps *rps = &gt->rps;
>  	struct intel_engine_cs *engine;
> +	struct pm_qos_request qos;
>  	enum intel_engine_id id;
>  	int err = 0;
>  
> @@ -551,6 +563,9 @@ int live_rps_frequency_srm(void *arg)
>  	if (INTEL_GEN(gt->i915) < 8) /* for CS simplicity */
>  		return 0;
>  
> +	if (CPU_LATENCY >= 0)
> +		cpu_latency_qos_add_request(&qos, CPU_LATENCY);
> +
>  	intel_gt_pm_wait_for_idle(gt);
>  	saved_work = rps->work.func;
>  	rps->work.func = dummy_rps_work;
> @@ -656,6 +671,9 @@ int live_rps_frequency_srm(void *arg)
>  	intel_gt_pm_wait_for_idle(gt);
>  	rps->work.func = saved_work;
>  
> +	if (CPU_LATENCY >= 0)
> +		cpu_latency_qos_remove_request(&qos);
> +
>  	return err;
>  }
>  
> -- 
> 2.20.1
_______________________________________________
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

* [Intel-gfx] ✗ Fi.CI.BAT: failure for drm/i915/selftests: Disable C-states when measuring RPS frequency response
  2020-04-21 14:22 [Intel-gfx] [PATCH] drm/i915/selftests: Disable C-states when measuring RPS frequency response Chris Wilson
  2020-04-21 14:45 ` Mika Kuoppala
@ 2020-04-21 15:21 ` Patchwork
  1 sibling, 0 replies; 3+ messages in thread
From: Patchwork @ 2020-04-21 15:21 UTC (permalink / raw)
  To: Chris Wilson; +Cc: intel-gfx

== Series Details ==

Series: drm/i915/selftests: Disable C-states when measuring RPS frequency response
URL   : https://patchwork.freedesktop.org/series/76272/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_8343 -> Patchwork_17407
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with Patchwork_17407 absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in Patchwork_17407, 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_17407/index.html

Possible new issues
-------------------

  Here are the unknown changes that may have been introduced in Patchwork_17407:

### IGT changes ###

#### Possible regressions ####

  * igt@i915_selftest@live@execlists:
    - fi-icl-y:           [PASS][1] -> [INCOMPLETE][2]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8343/fi-icl-y/igt@i915_selftest@live@execlists.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_17407/fi-icl-y/igt@i915_selftest@live@execlists.html

  
Known issues
------------

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

### IGT changes ###

#### Issues hit ####

  * igt@i915_selftest@live@gt_pm:
    - fi-cml-s:           [PASS][3] -> [DMESG-FAIL][4] ([i915#1751])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8343/fi-cml-s/igt@i915_selftest@live@gt_pm.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_17407/fi-cml-s/igt@i915_selftest@live@gt_pm.html
    - fi-skl-6700k2:      [PASS][5] -> [DMESG-FAIL][6] ([i915#1751])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8343/fi-skl-6700k2/igt@i915_selftest@live@gt_pm.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_17407/fi-skl-6700k2/igt@i915_selftest@live@gt_pm.html
    - fi-kbl-r:           [PASS][7] -> [DMESG-FAIL][8] ([i915#1751])
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8343/fi-kbl-r/igt@i915_selftest@live@gt_pm.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_17407/fi-kbl-r/igt@i915_selftest@live@gt_pm.html
    - fi-whl-u:           [PASS][9] -> [DMESG-FAIL][10] ([i915#1751])
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8343/fi-whl-u/igt@i915_selftest@live@gt_pm.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_17407/fi-whl-u/igt@i915_selftest@live@gt_pm.html

  * igt@i915_selftest@live@requests:
    - fi-icl-u2:          [PASS][11] -> [INCOMPLETE][12] ([i915#1531] / [i915#1581])
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8343/fi-icl-u2/igt@i915_selftest@live@requests.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_17407/fi-icl-u2/igt@i915_selftest@live@requests.html

  
#### Possible fixes ####

  * igt@i915_selftest@live@gt_pm:
    - fi-cfl-8109u:       [DMESG-FAIL][13] ([i915#1751]) -> [PASS][14]
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8343/fi-cfl-8109u/igt@i915_selftest@live@gt_pm.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_17407/fi-cfl-8109u/igt@i915_selftest@live@gt_pm.html
    - fi-apl-guc:         [DMESG-FAIL][15] ([i915#1751]) -> [PASS][16]
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8343/fi-apl-guc/igt@i915_selftest@live@gt_pm.html
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_17407/fi-apl-guc/igt@i915_selftest@live@gt_pm.html

  * igt@kms_chamelium@dp-edid-read:
    - fi-kbl-7500u:       [FAIL][17] ([i915#976]) -> [PASS][18]
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8343/fi-kbl-7500u/igt@kms_chamelium@dp-edid-read.html
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_17407/fi-kbl-7500u/igt@kms_chamelium@dp-edid-read.html

  
#### Warnings ####

  * igt@i915_pm_rpm@module-reload:
    - fi-kbl-x1275:       [FAIL][19] ([i915#62]) -> [SKIP][20] ([fdo#109271])
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8343/fi-kbl-x1275/igt@i915_pm_rpm@module-reload.html
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_17407/fi-kbl-x1275/igt@i915_pm_rpm@module-reload.html

  * igt@i915_selftest@live@gt_pm:
    - fi-icl-u2:          [DMESG-FAIL][21] -> [DMESG-FAIL][22] ([i915#1754])
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8343/fi-icl-u2/igt@i915_selftest@live@gt_pm.html
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_17407/fi-icl-u2/igt@i915_selftest@live@gt_pm.html

  
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [i915#1531]: https://gitlab.freedesktop.org/drm/intel/issues/1531
  [i915#1581]: https://gitlab.freedesktop.org/drm/intel/issues/1581
  [i915#1751]: https://gitlab.freedesktop.org/drm/intel/issues/1751
  [i915#1754]: https://gitlab.freedesktop.org/drm/intel/issues/1754
  [i915#62]: https://gitlab.freedesktop.org/drm/intel/issues/62
  [i915#976]: https://gitlab.freedesktop.org/drm/intel/issues/976


Participating hosts (48 -> 42)
------------------------------

  Additional (1): fi-bwr-2160 
  Missing    (7): fi-cml-u2 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-ctg-p8600 fi-byt-clapper fi-bdw-samus 


Build changes
-------------

  * CI: CI-20190529 -> None
  * Linux: CI_DRM_8343 -> Patchwork_17407

  CI-20190529: 20190529
  CI_DRM_8343: a5f7098d36b9370b08717c04d894d01c7cb4320b @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_5602: a8fcccd15dcc2dd409edd23785a2d6f6e85fb682 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_17407: e7d2ed39c41c9203e2c41b460eada4be5f426d5f @ git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

e7d2ed39c41c drm/i915/selftests: Disable C-states when measuring RPS frequency response

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_17407/index.html
_______________________________________________
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:[~2020-04-21 15:21 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-04-21 14:22 [Intel-gfx] [PATCH] drm/i915/selftests: Disable C-states when measuring RPS frequency response Chris Wilson
2020-04-21 14:45 ` Mika Kuoppala
2020-04-21 15:21 ` [Intel-gfx] ✗ Fi.CI.BAT: failure for " 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.