* [Intel-gfx] [PATCH i-g-t] i915/gem_exec_balancer: Kick tasklets harder
@ 2020-04-17 12:56 ` Chris Wilson
0 siblings, 0 replies; 7+ messages in thread
From: Chris Wilson @ 2020-04-17 12:56 UTC (permalink / raw)
To: intel-gfx; +Cc: igt-dev, Chris Wilson, arjun.melkaveri
Tasklet scheduling can unfortunately be quite predicated. Where we are
only caring about workload distribution and not initial execution
latency (see kick_kthreads), make that kick more precise.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
---
lib/igt_debugfs.h | 7 +++++++
tests/i915/gem_exec_balancer.c | 28 +++++++++++++++++-----------
2 files changed, 24 insertions(+), 11 deletions(-)
diff --git a/lib/igt_debugfs.h b/lib/igt_debugfs.h
index 7d1a6175e..768341387 100644
--- a/lib/igt_debugfs.h
+++ b/lib/igt_debugfs.h
@@ -181,6 +181,13 @@ void igt_require_hpd_storm_ctl(int fd);
* which will flush any RCU callbacks and deferred tasks.
*/
#define DROP_RCU 0x200
+/**
+ * DROP_TASKLETS:
+ *
+ * Flushes the softirq tasklets on each CPU, such as used by the execution
+ * threads.
+ */
+#define DROP_TASKLETS 0x400
/**
* DROP_ALL:
*
diff --git a/tests/i915/gem_exec_balancer.c b/tests/i915/gem_exec_balancer.c
index e9a893e90..9ec5a146e 100644
--- a/tests/i915/gem_exec_balancer.c
+++ b/tests/i915/gem_exec_balancer.c
@@ -24,6 +24,7 @@
#include <sched.h>
#include "igt.h"
+#include "igt_debugfs.h"
#include "igt_gt.h"
#include "igt_perf.h"
#include "i915/gem_ring.h"
@@ -405,17 +406,20 @@ static void invalid_bonds(int i915)
gem_context_destroy(i915, p.ctx_id);
}
-static void kick_kthreads(void)
+static void kick_kthreads(int i915)
{
- usleep(20 * 1000); /* 20ms should be enough for ksoftirqd! */
+ if (igt_drop_caches_has(i915, DROP_TASKLETS))
+ igt_drop_caches_set(i915, DROP_TASKLETS);
+ else
+ usleep(20 * 1000); /* 20ms should be enough for ksoftirqd! */
}
-static double measure_load(int pmu, int period_us)
+static double measure_load(int i915, int pmu, int period_us)
{
uint64_t data[2];
uint64_t d_t, d_v;
- kick_kthreads();
+ kick_kthreads(i915);
igt_assert_eq(read(pmu, data, sizeof(data)), sizeof(data));
d_v = -data[0];
@@ -430,13 +434,14 @@ static double measure_load(int pmu, int period_us)
return d_v / (double)d_t;
}
-static double measure_min_load(int pmu, unsigned int num, int period_us)
+static double
+measure_min_load(int i915, int pmu, unsigned int num, int period_us)
{
uint64_t data[2 + num];
uint64_t d_t, d_v[num];
uint64_t min = -1, max = 0;
- kick_kthreads();
+ kick_kthreads(i915);
igt_assert_eq(read(pmu, data, sizeof(data)), sizeof(data));
for (unsigned int n = 0; n < num; n++)
@@ -464,12 +469,13 @@ static double measure_min_load(int pmu, unsigned int num, int period_us)
return min / (double)d_t;
}
-static void measure_all_load(int pmu, double *v, unsigned int num, int period_us)
+static void
+measure_all_load(int i915, int pmu, double *v, unsigned int num, int period_us)
{
uint64_t data[2 + num];
uint64_t d_t, d_v[num];
- kick_kthreads();
+ kick_kthreads(i915);
igt_assert_eq(read(pmu, data, sizeof(data)), sizeof(data));
for (unsigned int n = 0; n < num; n++)
@@ -527,7 +533,7 @@ static void check_individual_engine(int i915,
ci[idx].engine_instance));
spin = igt_spin_new(i915, .ctx = ctx, .engine = idx + 1);
- load = measure_load(pmu, 10000);
+ load = measure_load(i915, pmu, 10000);
igt_spin_free(i915, spin);
close(pmu);
@@ -676,7 +682,7 @@ static void bonded(int i915, unsigned int flags)
igt_spin_free(i915, plug);
}
- measure_all_load(pmu[0], v, limit + 1, 10000);
+ measure_all_load(i915, pmu[0], v, limit + 1, 10000);
igt_spin_free(i915, spin);
igt_assert_f(v[bond] > 0.90,
@@ -1512,7 +1518,7 @@ static void full(int i915, unsigned int flags)
close(fence);
}
- load = measure_min_load(pmu[0], count, 10000);
+ load = measure_min_load(i915, pmu[0], count, 10000);
igt_spin_free(i915, spin);
close(pmu[0]);
--
2.26.0
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [igt-dev] [PATCH i-g-t] i915/gem_exec_balancer: Kick tasklets harder
@ 2020-04-17 12:56 ` Chris Wilson
0 siblings, 0 replies; 7+ messages in thread
From: Chris Wilson @ 2020-04-17 12:56 UTC (permalink / raw)
To: intel-gfx; +Cc: igt-dev, Chris Wilson, arjun.melkaveri, tvrtko.ursulin
Tasklet scheduling can unfortunately be quite predicated. Where we are
only caring about workload distribution and not initial execution
latency (see kick_kthreads), make that kick more precise.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
---
lib/igt_debugfs.h | 7 +++++++
tests/i915/gem_exec_balancer.c | 28 +++++++++++++++++-----------
2 files changed, 24 insertions(+), 11 deletions(-)
diff --git a/lib/igt_debugfs.h b/lib/igt_debugfs.h
index 7d1a6175e..768341387 100644
--- a/lib/igt_debugfs.h
+++ b/lib/igt_debugfs.h
@@ -181,6 +181,13 @@ void igt_require_hpd_storm_ctl(int fd);
* which will flush any RCU callbacks and deferred tasks.
*/
#define DROP_RCU 0x200
+/**
+ * DROP_TASKLETS:
+ *
+ * Flushes the softirq tasklets on each CPU, such as used by the execution
+ * threads.
+ */
+#define DROP_TASKLETS 0x400
/**
* DROP_ALL:
*
diff --git a/tests/i915/gem_exec_balancer.c b/tests/i915/gem_exec_balancer.c
index e9a893e90..9ec5a146e 100644
--- a/tests/i915/gem_exec_balancer.c
+++ b/tests/i915/gem_exec_balancer.c
@@ -24,6 +24,7 @@
#include <sched.h>
#include "igt.h"
+#include "igt_debugfs.h"
#include "igt_gt.h"
#include "igt_perf.h"
#include "i915/gem_ring.h"
@@ -405,17 +406,20 @@ static void invalid_bonds(int i915)
gem_context_destroy(i915, p.ctx_id);
}
-static void kick_kthreads(void)
+static void kick_kthreads(int i915)
{
- usleep(20 * 1000); /* 20ms should be enough for ksoftirqd! */
+ if (igt_drop_caches_has(i915, DROP_TASKLETS))
+ igt_drop_caches_set(i915, DROP_TASKLETS);
+ else
+ usleep(20 * 1000); /* 20ms should be enough for ksoftirqd! */
}
-static double measure_load(int pmu, int period_us)
+static double measure_load(int i915, int pmu, int period_us)
{
uint64_t data[2];
uint64_t d_t, d_v;
- kick_kthreads();
+ kick_kthreads(i915);
igt_assert_eq(read(pmu, data, sizeof(data)), sizeof(data));
d_v = -data[0];
@@ -430,13 +434,14 @@ static double measure_load(int pmu, int period_us)
return d_v / (double)d_t;
}
-static double measure_min_load(int pmu, unsigned int num, int period_us)
+static double
+measure_min_load(int i915, int pmu, unsigned int num, int period_us)
{
uint64_t data[2 + num];
uint64_t d_t, d_v[num];
uint64_t min = -1, max = 0;
- kick_kthreads();
+ kick_kthreads(i915);
igt_assert_eq(read(pmu, data, sizeof(data)), sizeof(data));
for (unsigned int n = 0; n < num; n++)
@@ -464,12 +469,13 @@ static double measure_min_load(int pmu, unsigned int num, int period_us)
return min / (double)d_t;
}
-static void measure_all_load(int pmu, double *v, unsigned int num, int period_us)
+static void
+measure_all_load(int i915, int pmu, double *v, unsigned int num, int period_us)
{
uint64_t data[2 + num];
uint64_t d_t, d_v[num];
- kick_kthreads();
+ kick_kthreads(i915);
igt_assert_eq(read(pmu, data, sizeof(data)), sizeof(data));
for (unsigned int n = 0; n < num; n++)
@@ -527,7 +533,7 @@ static void check_individual_engine(int i915,
ci[idx].engine_instance));
spin = igt_spin_new(i915, .ctx = ctx, .engine = idx + 1);
- load = measure_load(pmu, 10000);
+ load = measure_load(i915, pmu, 10000);
igt_spin_free(i915, spin);
close(pmu);
@@ -676,7 +682,7 @@ static void bonded(int i915, unsigned int flags)
igt_spin_free(i915, plug);
}
- measure_all_load(pmu[0], v, limit + 1, 10000);
+ measure_all_load(i915, pmu[0], v, limit + 1, 10000);
igt_spin_free(i915, spin);
igt_assert_f(v[bond] > 0.90,
@@ -1512,7 +1518,7 @@ static void full(int i915, unsigned int flags)
close(fence);
}
- load = measure_min_load(pmu[0], count, 10000);
+ load = measure_min_load(i915, pmu[0], count, 10000);
igt_spin_free(i915, spin);
close(pmu[0]);
--
2.26.0
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [igt-dev] ✓ Fi.CI.BAT: success for i915/gem_exec_balancer: Kick tasklets harder
2020-04-17 12:56 ` [igt-dev] " Chris Wilson
(?)
@ 2020-04-17 13:57 ` Patchwork
-1 siblings, 0 replies; 7+ messages in thread
From: Patchwork @ 2020-04-17 13:57 UTC (permalink / raw)
To: Chris Wilson; +Cc: igt-dev
== Series Details ==
Series: i915/gem_exec_balancer: Kick tasklets harder
URL : https://patchwork.freedesktop.org/series/76091/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_8315 -> IGTPW_4483
====================================================
Summary
-------
**SUCCESS**
No regressions found.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4483/index.html
Known issues
------------
Here are the changes found in IGTPW_4483 that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@i915_pm_rpm@module-reload:
- fi-icl-dsi: [PASS][1] -> [INCOMPLETE][2] ([i915#189])
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8315/fi-icl-dsi/igt@i915_pm_rpm@module-reload.html
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4483/fi-icl-dsi/igt@i915_pm_rpm@module-reload.html
* igt@i915_selftest@live@execlists:
- fi-tgl-y: [PASS][3] -> [INCOMPLETE][4] ([i915#1662])
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8315/fi-tgl-y/igt@i915_selftest@live@execlists.html
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4483/fi-tgl-y/igt@i915_selftest@live@execlists.html
#### Possible fixes ####
* igt@i915_pm_rpm@module-reload:
- fi-skl-6770hq: [FAIL][5] ([i915#178]) -> [PASS][6]
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8315/fi-skl-6770hq/igt@i915_pm_rpm@module-reload.html
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4483/fi-skl-6770hq/igt@i915_pm_rpm@module-reload.html
* igt@i915_selftest@live@requests:
- fi-icl-guc: [INCOMPLETE][7] ([i915#1581]) -> [PASS][8]
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8315/fi-icl-guc/igt@i915_selftest@live@requests.html
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4483/fi-icl-guc/igt@i915_selftest@live@requests.html
#### Warnings ####
* igt@i915_pm_rpm@module-reload:
- fi-kbl-x1275: [SKIP][9] ([fdo#109271]) -> [FAIL][10] ([i915#62])
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8315/fi-kbl-x1275/igt@i915_pm_rpm@module-reload.html
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4483/fi-kbl-x1275/igt@i915_pm_rpm@module-reload.html
[fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
[i915#1581]: https://gitlab.freedesktop.org/drm/intel/issues/1581
[i915#1662]: https://gitlab.freedesktop.org/drm/intel/issues/1662
[i915#178]: https://gitlab.freedesktop.org/drm/intel/issues/178
[i915#189]: https://gitlab.freedesktop.org/drm/intel/issues/189
[i915#62]: https://gitlab.freedesktop.org/drm/intel/issues/62
Participating hosts (51 -> 44)
------------------------------
Additional (1): fi-kbl-7560u
Missing (8): fi-kbl-soraka fi-hsw-4200u fi-bdw-gvtdvm fi-byt-squawks fi-bsw-cyan fi-ctg-p8600 fi-byt-clapper fi-bdw-samus
Build changes
-------------
* CI: CI-20190529 -> None
* IGT: IGT_5599 -> IGTPW_4483
CI-20190529: 20190529
CI_DRM_8315: cf2c3255ec72dfcb37385181a362cbf8e6cfdd15 @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_4483: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4483/index.html
IGT_5599: cdb07101dda33e2fcb0f4c2aa199c47159d88f35 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4483/index.html
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 7+ messages in thread
* [igt-dev] ✓ Fi.CI.IGT: success for i915/gem_exec_balancer: Kick tasklets harder
2020-04-17 12:56 ` [igt-dev] " Chris Wilson
(?)
(?)
@ 2020-04-18 19:59 ` Patchwork
-1 siblings, 0 replies; 7+ messages in thread
From: Patchwork @ 2020-04-18 19:59 UTC (permalink / raw)
To: Chris Wilson; +Cc: igt-dev
== Series Details ==
Series: i915/gem_exec_balancer: Kick tasklets harder
URL : https://patchwork.freedesktop.org/series/76091/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_8315_full -> IGTPW_4483_full
====================================================
Summary
-------
**WARNING**
Minor unknown changes coming with IGTPW_4483_full need to be verified
manually.
If you think the reported changes have nothing to do with the changes
introduced in IGTPW_4483_full, 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/IGTPW_4483/index.html
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in IGTPW_4483_full:
### IGT changes ###
#### Warnings ####
* igt@gem_softpin@noreloc-s3:
- shard-kbl: [DMESG-WARN][1] ([i915#180]) -> [INCOMPLETE][2]
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8315/shard-kbl7/igt@gem_softpin@noreloc-s3.html
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4483/shard-kbl1/igt@gem_softpin@noreloc-s3.html
Known issues
------------
Here are the changes found in IGTPW_4483_full that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@i915_pm_rpm@modeset-non-lpsp-stress:
- shard-hsw: [PASS][3] -> [SKIP][4] ([fdo#109271])
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8315/shard-hsw1/igt@i915_pm_rpm@modeset-non-lpsp-stress.html
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4483/shard-hsw1/igt@i915_pm_rpm@modeset-non-lpsp-stress.html
- shard-glk: [PASS][5] -> [SKIP][6] ([fdo#109271])
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8315/shard-glk2/igt@i915_pm_rpm@modeset-non-lpsp-stress.html
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4483/shard-glk7/igt@i915_pm_rpm@modeset-non-lpsp-stress.html
* igt@kms_cursor_crc@pipe-a-cursor-256x256-onscreen:
- shard-apl: [PASS][7] -> [FAIL][8] ([i915#54])
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8315/shard-apl1/igt@kms_cursor_crc@pipe-a-cursor-256x256-onscreen.html
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4483/shard-apl3/igt@kms_cursor_crc@pipe-a-cursor-256x256-onscreen.html
- shard-kbl: [PASS][9] -> [FAIL][10] ([i915#54])
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8315/shard-kbl1/igt@kms_cursor_crc@pipe-a-cursor-256x256-onscreen.html
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4483/shard-kbl3/igt@kms_cursor_crc@pipe-a-cursor-256x256-onscreen.html
* igt@kms_cursor_crc@pipe-a-cursor-256x85-offscreen:
- shard-apl: [PASS][11] -> [FAIL][12] ([i915#54] / [i915#95])
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8315/shard-apl6/igt@kms_cursor_crc@pipe-a-cursor-256x85-offscreen.html
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4483/shard-apl3/igt@kms_cursor_crc@pipe-a-cursor-256x85-offscreen.html
* igt@kms_cursor_legacy@cursor-vs-flip-toggle:
- shard-hsw: [PASS][13] -> [FAIL][14] ([i915#57])
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8315/shard-hsw6/igt@kms_cursor_legacy@cursor-vs-flip-toggle.html
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4483/shard-hsw1/igt@kms_cursor_legacy@cursor-vs-flip-toggle.html
* igt@kms_draw_crc@draw-method-rgb565-mmap-cpu-xtiled:
- shard-glk: [PASS][15] -> [FAIL][16] ([i915#52] / [i915#54]) +1 similar issue
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8315/shard-glk7/igt@kms_draw_crc@draw-method-rgb565-mmap-cpu-xtiled.html
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4483/shard-glk7/igt@kms_draw_crc@draw-method-rgb565-mmap-cpu-xtiled.html
* igt@kms_draw_crc@draw-method-xrgb8888-mmap-wc-untiled:
- shard-kbl: [PASS][17] -> [FAIL][18] ([fdo#108145] / [i915#177] / [i915#52] / [i915#54] / [i915#93] / [i915#95])
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8315/shard-kbl6/igt@kms_draw_crc@draw-method-xrgb8888-mmap-wc-untiled.html
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4483/shard-kbl1/igt@kms_draw_crc@draw-method-xrgb8888-mmap-wc-untiled.html
- shard-apl: [PASS][19] -> [FAIL][20] ([fdo#108145] / [i915#52] / [i915#54] / [i915#95])
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8315/shard-apl3/igt@kms_draw_crc@draw-method-xrgb8888-mmap-wc-untiled.html
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4483/shard-apl4/igt@kms_draw_crc@draw-method-xrgb8888-mmap-wc-untiled.html
* igt@kms_draw_crc@fill-fb:
- shard-apl: [PASS][21] -> [FAIL][22] ([i915#95])
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8315/shard-apl8/igt@kms_draw_crc@fill-fb.html
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4483/shard-apl3/igt@kms_draw_crc@fill-fb.html
* igt@kms_plane_alpha_blend@pipe-a-constant-alpha-mid:
- shard-kbl: [PASS][23] -> [FAIL][24] ([fdo#108145] / [i915#265] / [i915#93] / [i915#95])
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8315/shard-kbl7/igt@kms_plane_alpha_blend@pipe-a-constant-alpha-mid.html
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4483/shard-kbl3/igt@kms_plane_alpha_blend@pipe-a-constant-alpha-mid.html
- shard-apl: [PASS][25] -> [FAIL][26] ([fdo#108145] / [i915#265] / [i915#95])
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8315/shard-apl3/igt@kms_plane_alpha_blend@pipe-a-constant-alpha-mid.html
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4483/shard-apl3/igt@kms_plane_alpha_blend@pipe-a-constant-alpha-mid.html
* igt@kms_plane_cursor@pipe-a-overlay-size-64:
- shard-apl: [PASS][27] -> [FAIL][28] ([i915#1559] / [i915#95])
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8315/shard-apl1/igt@kms_plane_cursor@pipe-a-overlay-size-64.html
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4483/shard-apl2/igt@kms_plane_cursor@pipe-a-overlay-size-64.html
- shard-kbl: [PASS][29] -> [FAIL][30] ([i915#1559] / [i915#93] / [i915#95])
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8315/shard-kbl4/igt@kms_plane_cursor@pipe-a-overlay-size-64.html
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4483/shard-kbl1/igt@kms_plane_cursor@pipe-a-overlay-size-64.html
* igt@kms_psr@psr2_primary_mmap_cpu:
- shard-iclb: [PASS][31] -> [SKIP][32] ([fdo#109441]) +1 similar issue
[31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8315/shard-iclb2/igt@kms_psr@psr2_primary_mmap_cpu.html
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4483/shard-iclb7/igt@kms_psr@psr2_primary_mmap_cpu.html
* igt@kms_setmode@basic:
- shard-hsw: [PASS][33] -> [FAIL][34] ([i915#31])
[33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8315/shard-hsw6/igt@kms_setmode@basic.html
[34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4483/shard-hsw6/igt@kms_setmode@basic.html
* igt@kms_vblank@pipe-c-ts-continuation-suspend:
- shard-kbl: [PASS][35] -> [DMESG-WARN][36] ([i915#180])
[35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8315/shard-kbl1/igt@kms_vblank@pipe-c-ts-continuation-suspend.html
[36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4483/shard-kbl7/igt@kms_vblank@pipe-c-ts-continuation-suspend.html
#### Possible fixes ####
* igt@gem_eio@in-flight-suspend:
- shard-kbl: [INCOMPLETE][37] ([i915#155]) -> [PASS][38]
[37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8315/shard-kbl1/igt@gem_eio@in-flight-suspend.html
[38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4483/shard-kbl3/igt@gem_eio@in-flight-suspend.html
* igt@gem_workarounds@suspend-resume-context:
- shard-tglb: [INCOMPLETE][39] ([i915#456]) -> [PASS][40]
[39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8315/shard-tglb7/igt@gem_workarounds@suspend-resume-context.html
[40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4483/shard-tglb5/igt@gem_workarounds@suspend-resume-context.html
* igt@gen9_exec_parse@allowed-all:
- shard-glk: [INCOMPLETE][41] ([i915#58] / [k.org#198133]) -> [PASS][42]
[41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8315/shard-glk5/igt@gen9_exec_parse@allowed-all.html
[42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4483/shard-glk5/igt@gen9_exec_parse@allowed-all.html
* igt@i915_suspend@forcewake:
- shard-kbl: [DMESG-WARN][43] ([i915#180]) -> [PASS][44] +1 similar issue
[43]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8315/shard-kbl7/igt@i915_suspend@forcewake.html
[44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4483/shard-kbl6/igt@i915_suspend@forcewake.html
* igt@kms_cursor_crc@pipe-a-cursor-128x42-offscreen:
- shard-apl: [FAIL][45] ([i915#54] / [i915#95]) -> [PASS][46]
[45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8315/shard-apl8/igt@kms_cursor_crc@pipe-a-cursor-128x42-offscreen.html
[46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4483/shard-apl8/igt@kms_cursor_crc@pipe-a-cursor-128x42-offscreen.html
* igt@kms_cursor_crc@pipe-a-cursor-64x21-onscreen:
- shard-kbl: [FAIL][47] ([i915#54] / [i915#93] / [i915#95]) -> [PASS][48] +2 similar issues
[47]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8315/shard-kbl7/igt@kms_cursor_crc@pipe-a-cursor-64x21-onscreen.html
[48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4483/shard-kbl7/igt@kms_cursor_crc@pipe-a-cursor-64x21-onscreen.html
* igt@kms_cursor_crc@pipe-b-cursor-alpha-opaque:
- shard-apl: [FAIL][49] ([i915#54]) -> [PASS][50]
[49]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8315/shard-apl8/igt@kms_cursor_crc@pipe-b-cursor-alpha-opaque.html
[50]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4483/shard-apl7/igt@kms_cursor_crc@pipe-b-cursor-alpha-opaque.html
- shard-kbl: [FAIL][51] ([i915#54]) -> [PASS][52]
[51]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8315/shard-kbl1/igt@kms_cursor_crc@pipe-b-cursor-alpha-opaque.html
[52]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4483/shard-kbl6/igt@kms_cursor_crc@pipe-b-cursor-alpha-opaque.html
* igt@kms_draw_crc@draw-method-rgb565-render-untiled:
- shard-glk: [FAIL][53] ([i915#52] / [i915#54]) -> [PASS][54] +4 similar issues
[53]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8315/shard-glk2/igt@kms_draw_crc@draw-method-rgb565-render-untiled.html
[54]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4483/shard-glk2/igt@kms_draw_crc@draw-method-rgb565-render-untiled.html
* {igt@kms_flip@flip-vs-suspend-interruptible@a-dp1}:
- shard-apl: [DMESG-WARN][55] ([i915#180]) -> [PASS][56] +2 similar issues
[55]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8315/shard-apl6/igt@kms_flip@flip-vs-suspend-interruptible@a-dp1.html
[56]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4483/shard-apl7/igt@kms_flip@flip-vs-suspend-interruptible@a-dp1.html
* igt@kms_frontbuffer_tracking@fbc-suspend:
- shard-kbl: [DMESG-WARN][57] ([i915#180] / [i915#93] / [i915#95]) -> [PASS][58]
[57]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8315/shard-kbl7/igt@kms_frontbuffer_tracking@fbc-suspend.html
[58]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4483/shard-kbl4/igt@kms_frontbuffer_tracking@fbc-suspend.html
* igt@kms_plane_multiple@atomic-pipe-a-tiling-y:
- shard-apl: [FAIL][59] ([i915#95]) -> [PASS][60]
[59]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8315/shard-apl1/igt@kms_plane_multiple@atomic-pipe-a-tiling-y.html
[60]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4483/shard-apl3/igt@kms_plane_multiple@atomic-pipe-a-tiling-y.html
* igt@kms_psr@psr2_cursor_mmap_cpu:
- shard-iclb: [SKIP][61] ([fdo#109441]) -> [PASS][62] +2 similar issues
[61]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8315/shard-iclb7/igt@kms_psr@psr2_cursor_mmap_cpu.html
[62]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4483/shard-iclb2/igt@kms_psr@psr2_cursor_mmap_cpu.html
* igt@kms_vblank@pipe-c-ts-continuation-modeset-rpm:
- shard-hsw: [SKIP][63] ([fdo#109271]) -> [PASS][64]
[63]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8315/shard-hsw6/igt@kms_vblank@pipe-c-ts-continuation-modeset-rpm.html
[64]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4483/shard-hsw6/igt@kms_vblank@pipe-c-ts-continuation-modeset-rpm.html
- shard-glk: [SKIP][65] ([fdo#109271]) -> [PASS][66]
[65]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8315/shard-glk8/igt@kms_vblank@pipe-c-ts-continuation-modeset-rpm.html
[66]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4483/shard-glk2/igt@kms_vblank@pipe-c-ts-continuation-modeset-rpm.html
- shard-iclb: [SKIP][67] ([fdo#109278]) -> [PASS][68]
[67]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8315/shard-iclb3/igt@kms_vblank@pipe-c-ts-continuation-modeset-rpm.html
[68]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4483/shard-iclb7/igt@kms_vblank@pipe-c-ts-continuation-modeset-rpm.html
#### Warnings ####
* igt@i915_pm_rpm@modeset-non-lpsp-stress:
- shard-tglb: [SKIP][69] ([fdo#111644] / [i915#1397]) -> [SKIP][70] ([i915#1316] / [i915#579])
[69]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8315/shard-tglb8/igt@i915_pm_rpm@modeset-non-lpsp-stress.html
[70]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4483/shard-tglb6/igt@i915_pm_rpm@modeset-non-lpsp-stress.html
- shard-iclb: [SKIP][71] ([fdo#110892]) -> [SKIP][72] ([i915#1316] / [i915#579])
[71]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8315/shard-iclb8/igt@i915_pm_rpm@modeset-non-lpsp-stress.html
[72]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4483/shard-iclb1/igt@i915_pm_rpm@modeset-non-lpsp-stress.html
* igt@i915_pm_rpm@modeset-pc8-residency-stress:
- shard-iclb: [SKIP][73] ([i915#1316] / [i915#579]) -> [SKIP][74] ([fdo#109293] / [fdo#109506])
[73]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8315/shard-iclb3/igt@i915_pm_rpm@modeset-pc8-residency-stress.html
[74]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4483/shard-iclb4/igt@i915_pm_rpm@modeset-pc8-residency-stress.html
* igt@kms_fbcon_fbt@fbc-suspend:
- shard-apl: [FAIL][75] ([i915#95]) -> [DMESG-FAIL][76] ([i915#180] / [i915#95])
[75]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8315/shard-apl6/igt@kms_fbcon_fbt@fbc-suspend.html
[76]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4483/shard-apl8/igt@kms_fbcon_fbt@fbc-suspend.html
* igt@kms_plane_alpha_blend@pipe-c-alpha-7efc:
- shard-apl: [FAIL][77] ([fdo#108145] / [i915#265]) -> [FAIL][78] ([fdo#108145] / [i915#265] / [i915#95])
[77]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8315/shard-apl8/igt@kms_plane_alpha_blend@pipe-c-alpha-7efc.html
[78]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4483/shard-apl6/igt@kms_plane_alpha_blend@pipe-c-alpha-7efc.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145
[fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
[fdo#109278]: https://bugs.freedesktop.org/show_bug.cgi?id=109278
[fdo#109293]: https://bugs.freedesktop.org/show_bug.cgi?id=109293
[fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441
[fdo#109506]: https://bugs.freedesktop.org/show_bug.cgi?id=109506
[fdo#110892]: https://bugs.freedesktop.org/show_bug.cgi?id=110892
[fdo#111644]: https://bugs.freedesktop.org/show_bug.cgi?id=111644
[i915#1316]: https://gitlab.freedesktop.org/drm/intel/issues/1316
[i915#1397]: https://gitlab.freedesktop.org/drm/intel/issues/1397
[i915#155]: https://gitlab.freedesktop.org/drm/intel/issues/155
[i915#1559]: https://gitlab.freedesktop.org/drm/intel/issues/1559
[i915#177]: https://gitlab.freedesktop.org/drm/intel/issues/177
[i915#180]: https://gitlab.freedesktop.org/drm/intel/issues/180
[i915#265]: https://gitlab.freedesktop.org/drm/intel/issues/265
[i915#31]: https://gitlab.freedesktop.org/drm/intel/issues/31
[i915#456]: https://gitlab.freedesktop.org/drm/intel/issues/456
[i915#52]: https://gitlab.freedesktop.org/drm/intel/issues/52
[i915#54]: https://gitlab.freedesktop.org/drm/intel/issues/54
[i915#57]: https://gitlab.freedesktop.org/drm/intel/issues/57
[i915#579]: https://gitlab.freedesktop.org/drm/intel/issues/579
[i915#58]: https://gitlab.freedesktop.org/drm/intel/issues/58
[i915#93]: https://gitlab.freedesktop.org/drm/intel/issues/93
[i915#95]: https://gitlab.freedesktop.org/drm/intel/issues/95
[k.org#198133]: https://bugzilla.kernel.org/show_bug.cgi?id=198133
Participating hosts (10 -> 8)
------------------------------
Missing (2): pig-skl-6260u pig-glk-j5005
Build changes
-------------
* CI: CI-20190529 -> None
* IGT: IGT_5599 -> IGTPW_4483
* Piglit: piglit_4509 -> None
CI-20190529: 20190529
CI_DRM_8315: cf2c3255ec72dfcb37385181a362cbf8e6cfdd15 @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_4483: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4483/index.html
IGT_5599: cdb07101dda33e2fcb0f4c2aa199c47159d88f35 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4483/index.html
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Intel-gfx] [PATCH i-g-t] i915/gem_exec_balancer: Kick tasklets harder
2020-04-17 12:56 ` [igt-dev] " Chris Wilson
@ 2020-04-19 12:55 ` Melkaveri, Arjun
-1 siblings, 0 replies; 7+ messages in thread
From: Melkaveri, Arjun @ 2020-04-19 12:55 UTC (permalink / raw)
To: Chris Wilson, intel-gfx; +Cc: igt-dev
HI Chris ,
As Discussed , are you planning to change the load %age for full-* subtests ?
igt_assert_f(load > 0.90 to 66 % ?
Thanks
Arjun M
-----Original Message-----
From: Chris Wilson <chris@chris-wilson.co.uk>
Sent: Friday, April 17, 2020 6:27 PM
To: intel-gfx@lists.freedesktop.org
Cc: igt-dev@lists.freedesktop.org; Melkaveri, Arjun <arjun.melkaveri@intel.com>; Ursulin, Tvrtko <tvrtko.ursulin@intel.com>; Chris Wilson <chris@chris-wilson.co.uk>
Subject: [PATCH i-g-t] i915/gem_exec_balancer: Kick tasklets harder
Tasklet scheduling can unfortunately be quite predicated. Where we are only caring about workload distribution and not initial execution latency (see kick_kthreads), make that kick more precise.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
---
lib/igt_debugfs.h | 7 +++++++
tests/i915/gem_exec_balancer.c | 28 +++++++++++++++++-----------
2 files changed, 24 insertions(+), 11 deletions(-)
diff --git a/lib/igt_debugfs.h b/lib/igt_debugfs.h index 7d1a6175e..768341387 100644
--- a/lib/igt_debugfs.h
+++ b/lib/igt_debugfs.h
@@ -181,6 +181,13 @@ void igt_require_hpd_storm_ctl(int fd);
* which will flush any RCU callbacks and deferred tasks.
*/
#define DROP_RCU 0x200
+/**
+ * DROP_TASKLETS:
+ *
+ * Flushes the softirq tasklets on each CPU, such as used by the
+execution
+ * threads.
+ */
+#define DROP_TASKLETS 0x400
/**
* DROP_ALL:
*
diff --git a/tests/i915/gem_exec_balancer.c b/tests/i915/gem_exec_balancer.c index e9a893e90..9ec5a146e 100644
--- a/tests/i915/gem_exec_balancer.c
+++ b/tests/i915/gem_exec_balancer.c
@@ -24,6 +24,7 @@
#include <sched.h>
#include "igt.h"
+#include "igt_debugfs.h"
#include "igt_gt.h"
#include "igt_perf.h"
#include "i915/gem_ring.h"
@@ -405,17 +406,20 @@ static void invalid_bonds(int i915)
gem_context_destroy(i915, p.ctx_id);
}
-static void kick_kthreads(void)
+static void kick_kthreads(int i915)
{
- usleep(20 * 1000); /* 20ms should be enough for ksoftirqd! */
+ if (igt_drop_caches_has(i915, DROP_TASKLETS))
+ igt_drop_caches_set(i915, DROP_TASKLETS);
+ else
+ usleep(20 * 1000); /* 20ms should be enough for ksoftirqd! */
}
-static double measure_load(int pmu, int period_us)
+static double measure_load(int i915, int pmu, int period_us)
{
uint64_t data[2];
uint64_t d_t, d_v;
- kick_kthreads();
+ kick_kthreads(i915);
igt_assert_eq(read(pmu, data, sizeof(data)), sizeof(data));
d_v = -data[0];
@@ -430,13 +434,14 @@ static double measure_load(int pmu, int period_us)
return d_v / (double)d_t;
}
-static double measure_min_load(int pmu, unsigned int num, int period_us)
+static double
+measure_min_load(int i915, int pmu, unsigned int num, int period_us)
{
uint64_t data[2 + num];
uint64_t d_t, d_v[num];
uint64_t min = -1, max = 0;
- kick_kthreads();
+ kick_kthreads(i915);
igt_assert_eq(read(pmu, data, sizeof(data)), sizeof(data));
for (unsigned int n = 0; n < num; n++) @@ -464,12 +469,13 @@ static double measure_min_load(int pmu, unsigned int num, int period_us)
return min / (double)d_t;
}
-static void measure_all_load(int pmu, double *v, unsigned int num, int period_us)
+static void
+measure_all_load(int i915, int pmu, double *v, unsigned int num, int
+period_us)
{
uint64_t data[2 + num];
uint64_t d_t, d_v[num];
- kick_kthreads();
+ kick_kthreads(i915);
igt_assert_eq(read(pmu, data, sizeof(data)), sizeof(data));
for (unsigned int n = 0; n < num; n++) @@ -527,7 +533,7 @@ static void check_individual_engine(int i915,
ci[idx].engine_instance));
spin = igt_spin_new(i915, .ctx = ctx, .engine = idx + 1);
- load = measure_load(pmu, 10000);
+ load = measure_load(i915, pmu, 10000);
igt_spin_free(i915, spin);
close(pmu);
@@ -676,7 +682,7 @@ static void bonded(int i915, unsigned int flags)
igt_spin_free(i915, plug);
}
- measure_all_load(pmu[0], v, limit + 1, 10000);
+ measure_all_load(i915, pmu[0], v, limit + 1, 10000);
igt_spin_free(i915, spin);
igt_assert_f(v[bond] > 0.90,
@@ -1512,7 +1518,7 @@ static void full(int i915, unsigned int flags)
close(fence);
}
- load = measure_min_load(pmu[0], count, 10000);
+ load = measure_min_load(i915, pmu[0], count, 10000);
igt_spin_free(i915, spin);
close(pmu[0]);
--
2.26.0
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [igt-dev] [PATCH i-g-t] i915/gem_exec_balancer: Kick tasklets harder
@ 2020-04-19 12:55 ` Melkaveri, Arjun
0 siblings, 0 replies; 7+ messages in thread
From: Melkaveri, Arjun @ 2020-04-19 12:55 UTC (permalink / raw)
To: Chris Wilson, intel-gfx; +Cc: igt-dev, Ursulin, Tvrtko
HI Chris ,
As Discussed , are you planning to change the load %age for full-* subtests ?
igt_assert_f(load > 0.90 to 66 % ?
Thanks
Arjun M
-----Original Message-----
From: Chris Wilson <chris@chris-wilson.co.uk>
Sent: Friday, April 17, 2020 6:27 PM
To: intel-gfx@lists.freedesktop.org
Cc: igt-dev@lists.freedesktop.org; Melkaveri, Arjun <arjun.melkaveri@intel.com>; Ursulin, Tvrtko <tvrtko.ursulin@intel.com>; Chris Wilson <chris@chris-wilson.co.uk>
Subject: [PATCH i-g-t] i915/gem_exec_balancer: Kick tasklets harder
Tasklet scheduling can unfortunately be quite predicated. Where we are only caring about workload distribution and not initial execution latency (see kick_kthreads), make that kick more precise.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
---
lib/igt_debugfs.h | 7 +++++++
tests/i915/gem_exec_balancer.c | 28 +++++++++++++++++-----------
2 files changed, 24 insertions(+), 11 deletions(-)
diff --git a/lib/igt_debugfs.h b/lib/igt_debugfs.h index 7d1a6175e..768341387 100644
--- a/lib/igt_debugfs.h
+++ b/lib/igt_debugfs.h
@@ -181,6 +181,13 @@ void igt_require_hpd_storm_ctl(int fd);
* which will flush any RCU callbacks and deferred tasks.
*/
#define DROP_RCU 0x200
+/**
+ * DROP_TASKLETS:
+ *
+ * Flushes the softirq tasklets on each CPU, such as used by the
+execution
+ * threads.
+ */
+#define DROP_TASKLETS 0x400
/**
* DROP_ALL:
*
diff --git a/tests/i915/gem_exec_balancer.c b/tests/i915/gem_exec_balancer.c index e9a893e90..9ec5a146e 100644
--- a/tests/i915/gem_exec_balancer.c
+++ b/tests/i915/gem_exec_balancer.c
@@ -24,6 +24,7 @@
#include <sched.h>
#include "igt.h"
+#include "igt_debugfs.h"
#include "igt_gt.h"
#include "igt_perf.h"
#include "i915/gem_ring.h"
@@ -405,17 +406,20 @@ static void invalid_bonds(int i915)
gem_context_destroy(i915, p.ctx_id);
}
-static void kick_kthreads(void)
+static void kick_kthreads(int i915)
{
- usleep(20 * 1000); /* 20ms should be enough for ksoftirqd! */
+ if (igt_drop_caches_has(i915, DROP_TASKLETS))
+ igt_drop_caches_set(i915, DROP_TASKLETS);
+ else
+ usleep(20 * 1000); /* 20ms should be enough for ksoftirqd! */
}
-static double measure_load(int pmu, int period_us)
+static double measure_load(int i915, int pmu, int period_us)
{
uint64_t data[2];
uint64_t d_t, d_v;
- kick_kthreads();
+ kick_kthreads(i915);
igt_assert_eq(read(pmu, data, sizeof(data)), sizeof(data));
d_v = -data[0];
@@ -430,13 +434,14 @@ static double measure_load(int pmu, int period_us)
return d_v / (double)d_t;
}
-static double measure_min_load(int pmu, unsigned int num, int period_us)
+static double
+measure_min_load(int i915, int pmu, unsigned int num, int period_us)
{
uint64_t data[2 + num];
uint64_t d_t, d_v[num];
uint64_t min = -1, max = 0;
- kick_kthreads();
+ kick_kthreads(i915);
igt_assert_eq(read(pmu, data, sizeof(data)), sizeof(data));
for (unsigned int n = 0; n < num; n++) @@ -464,12 +469,13 @@ static double measure_min_load(int pmu, unsigned int num, int period_us)
return min / (double)d_t;
}
-static void measure_all_load(int pmu, double *v, unsigned int num, int period_us)
+static void
+measure_all_load(int i915, int pmu, double *v, unsigned int num, int
+period_us)
{
uint64_t data[2 + num];
uint64_t d_t, d_v[num];
- kick_kthreads();
+ kick_kthreads(i915);
igt_assert_eq(read(pmu, data, sizeof(data)), sizeof(data));
for (unsigned int n = 0; n < num; n++) @@ -527,7 +533,7 @@ static void check_individual_engine(int i915,
ci[idx].engine_instance));
spin = igt_spin_new(i915, .ctx = ctx, .engine = idx + 1);
- load = measure_load(pmu, 10000);
+ load = measure_load(i915, pmu, 10000);
igt_spin_free(i915, spin);
close(pmu);
@@ -676,7 +682,7 @@ static void bonded(int i915, unsigned int flags)
igt_spin_free(i915, plug);
}
- measure_all_load(pmu[0], v, limit + 1, 10000);
+ measure_all_load(i915, pmu[0], v, limit + 1, 10000);
igt_spin_free(i915, spin);
igt_assert_f(v[bond] > 0.90,
@@ -1512,7 +1518,7 @@ static void full(int i915, unsigned int flags)
close(fence);
}
- load = measure_min_load(pmu[0], count, 10000);
+ load = measure_min_load(i915, pmu[0], count, 10000);
igt_spin_free(i915, spin);
close(pmu[0]);
--
2.26.0
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 7+ messages in thread
* [igt-dev] ✗ Fi.CI.BUILD: failure for i915/gem_exec_balancer: Kick tasklets harder (rev2)
2020-04-17 12:56 ` [igt-dev] " Chris Wilson
` (3 preceding siblings ...)
(?)
@ 2020-04-19 13:33 ` Patchwork
-1 siblings, 0 replies; 7+ messages in thread
From: Patchwork @ 2020-04-19 13:33 UTC (permalink / raw)
To: Melkaveri, Arjun; +Cc: igt-dev
== Series Details ==
Series: i915/gem_exec_balancer: Kick tasklets harder (rev2)
URL : https://patchwork.freedesktop.org/series/76091/
State : failure
== Summary ==
Applying: i915/gem_exec_balancer: Kick tasklets harder
Patch failed at 0001 i915/gem_exec_balancer: Kick tasklets harder
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2020-04-19 13:33 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-04-17 12:56 [Intel-gfx] [PATCH i-g-t] i915/gem_exec_balancer: Kick tasklets harder Chris Wilson
2020-04-17 12:56 ` [igt-dev] " Chris Wilson
2020-04-17 13:57 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork
2020-04-18 19:59 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
2020-04-19 12:55 ` [Intel-gfx] [PATCH i-g-t] " Melkaveri, Arjun
2020-04-19 12:55 ` [igt-dev] " Melkaveri, Arjun
2020-04-19 13:33 ` [igt-dev] ✗ Fi.CI.BUILD: failure for i915/gem_exec_balancer: Kick tasklets harder (rev2) 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.