* [PATCH i-g-t] i915/perf_pmu: Compare semaphore and busy measurements
@ 2019-09-24 22:01 ` Chris Wilson
0 siblings, 0 replies; 16+ messages in thread
From: Chris Wilson @ 2019-09-24 22:01 UTC (permalink / raw)
To: intel-gfx; +Cc: igt-dev
Our semaphore time is measured by sampling a ring register, whereas our
busy time is measured exactly. This leaves a window of discrepancy that
we wish to keep small (at least within sample tolerance).
References: https://bugs.freedesktop.org/show_bug.cgi?id=111788
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
---
tests/perf_pmu.c | 73 +++++++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 72 insertions(+), 1 deletion(-)
diff --git a/tests/perf_pmu.c b/tests/perf_pmu.c
index 8a06e5d44..2fcaf88de 100644
--- a/tests/perf_pmu.c
+++ b/tests/perf_pmu.c
@@ -130,7 +130,7 @@ static uint64_t pmu_read_multi(int fd, unsigned int num, uint64_t *val)
#define __assert_within_epsilon(x, ref, tol_up, tol_down) \
igt_assert_f((double)(x) <= (1.0 + (tol_up)) * (double)(ref) && \
(double)(x) >= (1.0 - (tol_down)) * (double)(ref), \
- "'%s' != '%s' (%f not within +%f%%/-%f%% tolerance of %f)\n",\
+ "'%s' != '%s' (%f not within +%.1f%%/-%.1f%% tolerance of %f)\n",\
#x, #ref, (double)(x), \
(tol_up) * 100.0, (tol_down) * 100.0, \
(double)(ref))
@@ -744,6 +744,74 @@ sema_wait(int gem_fd, const struct intel_execution_engine2 *e,
assert_within_epsilon(val[1] - val[0], slept, tolerance);
}
+static void
+__sema_busy(int gem_fd, int pmu,
+ const struct intel_execution_engine2 *e,
+ const struct intel_execution_engine2 *signal,
+ int sema_pct,
+ int busy_pct)
+{
+ uint64_t total, sema, busy;
+ uint64_t start[2], end[2];
+ igt_spin_t *spin[2];
+
+ spin[0] = igt_spin_new(gem_fd,
+ .engine = signal->flags,
+ .flags = IGT_SPIN_FENCE_OUT);
+ spin[1] = igt_spin_new(gem_fd,
+ .engine = e->flags,
+ .fence = spin[0]->out_fence,
+ .flags = IGT_SPIN_FENCE_IN);
+
+ total = pmu_read_multi(pmu, 2, start);
+
+ sema = measured_usleep(batch_duration_ns * sema_pct / 100 / 1000);
+ igt_spin_end(spin[0]);
+ busy = measured_usleep(batch_duration_ns * (busy_pct - sema_pct) / 100 / 1000);
+ igt_spin_end(spin[1]);
+ measured_usleep(batch_duration_ns * (100 - busy_pct) / 100 / 1000);
+
+ total = pmu_read_multi(pmu, 2, end) - total;
+
+ igt_info("%s<-%s, target: {%.1f%% [%d], %.1f%% [%d]}, measured {%.1f%%, %.1f%%}\n",
+ e->name, signal->name,
+ sema * 100. / total, sema_pct,
+ (sema + busy) * 100. / total, busy_pct,
+ (end[0] - start[0]) * 100. / total,
+ (end[1] - start[1]) * 100. / total);
+
+ assert_within_epsilon(end[0] - start[0], sema, tolerance);
+ assert_within_epsilon(end[1] - start[1], sema + busy, tolerance);
+ igt_assert((end[0] - start[0]) < (end[1] - start[1]) * (1 + tolerance));
+
+ igt_spin_free(gem_fd, spin[1]);
+ igt_spin_free(gem_fd, spin[0]);
+}
+
+static void
+sema_busy(int gem_fd,
+ const struct intel_execution_engine2 *e,
+ unsigned int flags)
+{
+ const struct intel_execution_engine2 *signal;
+ int fd;
+
+ fd = open_group(I915_PMU_ENGINE_SEMA(e->class, e->instance), -1);
+ open_group(I915_PMU_ENGINE_BUSY(e->class, e->instance), fd);
+
+ __for_each_physical_engine(gem_fd, signal) {
+ if (e->class == signal->class &&
+ e->instance == signal->instance)
+ continue;
+
+ __sema_busy(gem_fd, fd, e, signal, 50, 100);
+ __sema_busy(gem_fd, fd, e, signal, 25, 50);
+ __sema_busy(gem_fd, fd, e, signal, 75, 75);
+ }
+
+ close(fd);
+}
+
#define MI_WAIT_FOR_PIPE_C_VBLANK (1<<21)
#define MI_WAIT_FOR_PIPE_B_VBLANK (1<<11)
#define MI_WAIT_FOR_PIPE_A_VBLANK (1<<3)
@@ -1774,6 +1842,9 @@ igt_main
sema_wait(fd, e,
TEST_BUSY | TEST_TRAILING_IDLE);
+ igt_subtest_f("semaphore-busy-%s", e->name)
+ sema_busy(fd, e, 0);
+
/**
* Check that two perf clients do not influence each
* others observations.
--
2.23.0
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [igt-dev] [PATCH i-g-t] i915/perf_pmu: Compare semaphore and busy measurements
@ 2019-09-24 22:01 ` Chris Wilson
0 siblings, 0 replies; 16+ messages in thread
From: Chris Wilson @ 2019-09-24 22:01 UTC (permalink / raw)
To: intel-gfx; +Cc: igt-dev, Tvrtko Ursulin
Our semaphore time is measured by sampling a ring register, whereas our
busy time is measured exactly. This leaves a window of discrepancy that
we wish to keep small (at least within sample tolerance).
References: https://bugs.freedesktop.org/show_bug.cgi?id=111788
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
---
tests/perf_pmu.c | 73 +++++++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 72 insertions(+), 1 deletion(-)
diff --git a/tests/perf_pmu.c b/tests/perf_pmu.c
index 8a06e5d44..2fcaf88de 100644
--- a/tests/perf_pmu.c
+++ b/tests/perf_pmu.c
@@ -130,7 +130,7 @@ static uint64_t pmu_read_multi(int fd, unsigned int num, uint64_t *val)
#define __assert_within_epsilon(x, ref, tol_up, tol_down) \
igt_assert_f((double)(x) <= (1.0 + (tol_up)) * (double)(ref) && \
(double)(x) >= (1.0 - (tol_down)) * (double)(ref), \
- "'%s' != '%s' (%f not within +%f%%/-%f%% tolerance of %f)\n",\
+ "'%s' != '%s' (%f not within +%.1f%%/-%.1f%% tolerance of %f)\n",\
#x, #ref, (double)(x), \
(tol_up) * 100.0, (tol_down) * 100.0, \
(double)(ref))
@@ -744,6 +744,74 @@ sema_wait(int gem_fd, const struct intel_execution_engine2 *e,
assert_within_epsilon(val[1] - val[0], slept, tolerance);
}
+static void
+__sema_busy(int gem_fd, int pmu,
+ const struct intel_execution_engine2 *e,
+ const struct intel_execution_engine2 *signal,
+ int sema_pct,
+ int busy_pct)
+{
+ uint64_t total, sema, busy;
+ uint64_t start[2], end[2];
+ igt_spin_t *spin[2];
+
+ spin[0] = igt_spin_new(gem_fd,
+ .engine = signal->flags,
+ .flags = IGT_SPIN_FENCE_OUT);
+ spin[1] = igt_spin_new(gem_fd,
+ .engine = e->flags,
+ .fence = spin[0]->out_fence,
+ .flags = IGT_SPIN_FENCE_IN);
+
+ total = pmu_read_multi(pmu, 2, start);
+
+ sema = measured_usleep(batch_duration_ns * sema_pct / 100 / 1000);
+ igt_spin_end(spin[0]);
+ busy = measured_usleep(batch_duration_ns * (busy_pct - sema_pct) / 100 / 1000);
+ igt_spin_end(spin[1]);
+ measured_usleep(batch_duration_ns * (100 - busy_pct) / 100 / 1000);
+
+ total = pmu_read_multi(pmu, 2, end) - total;
+
+ igt_info("%s<-%s, target: {%.1f%% [%d], %.1f%% [%d]}, measured {%.1f%%, %.1f%%}\n",
+ e->name, signal->name,
+ sema * 100. / total, sema_pct,
+ (sema + busy) * 100. / total, busy_pct,
+ (end[0] - start[0]) * 100. / total,
+ (end[1] - start[1]) * 100. / total);
+
+ assert_within_epsilon(end[0] - start[0], sema, tolerance);
+ assert_within_epsilon(end[1] - start[1], sema + busy, tolerance);
+ igt_assert((end[0] - start[0]) < (end[1] - start[1]) * (1 + tolerance));
+
+ igt_spin_free(gem_fd, spin[1]);
+ igt_spin_free(gem_fd, spin[0]);
+}
+
+static void
+sema_busy(int gem_fd,
+ const struct intel_execution_engine2 *e,
+ unsigned int flags)
+{
+ const struct intel_execution_engine2 *signal;
+ int fd;
+
+ fd = open_group(I915_PMU_ENGINE_SEMA(e->class, e->instance), -1);
+ open_group(I915_PMU_ENGINE_BUSY(e->class, e->instance), fd);
+
+ __for_each_physical_engine(gem_fd, signal) {
+ if (e->class == signal->class &&
+ e->instance == signal->instance)
+ continue;
+
+ __sema_busy(gem_fd, fd, e, signal, 50, 100);
+ __sema_busy(gem_fd, fd, e, signal, 25, 50);
+ __sema_busy(gem_fd, fd, e, signal, 75, 75);
+ }
+
+ close(fd);
+}
+
#define MI_WAIT_FOR_PIPE_C_VBLANK (1<<21)
#define MI_WAIT_FOR_PIPE_B_VBLANK (1<<11)
#define MI_WAIT_FOR_PIPE_A_VBLANK (1<<3)
@@ -1774,6 +1842,9 @@ igt_main
sema_wait(fd, e,
TEST_BUSY | TEST_TRAILING_IDLE);
+ igt_subtest_f("semaphore-busy-%s", e->name)
+ sema_busy(fd, e, 0);
+
/**
* Check that two perf clients do not influence each
* others observations.
--
2.23.0
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [igt-dev] ✓ Fi.CI.BAT: success for i915/perf_pmu: Compare semaphore and busy measurements
2019-09-24 22:01 ` [igt-dev] " Chris Wilson
(?)
@ 2019-09-24 22:27 ` Patchwork
-1 siblings, 0 replies; 16+ messages in thread
From: Patchwork @ 2019-09-24 22:27 UTC (permalink / raw)
To: Chris Wilson; +Cc: igt-dev
== Series Details ==
Series: i915/perf_pmu: Compare semaphore and busy measurements
URL : https://patchwork.freedesktop.org/series/67183/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_6952 -> IGTPW_3497
====================================================
Summary
-------
**SUCCESS**
No regressions found.
External URL: https://patchwork.freedesktop.org/api/1.0/series/67183/revisions/1/mbox/
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in IGTPW_3497:
### IGT changes ###
#### Suppressed ####
The following results come from untrusted machines, tests, or statuses.
They do not affect the overall result.
* {igt@i915_selftest@live_gt_timelines}:
- {fi-tgl-u2}: [PASS][1] -> [INCOMPLETE][2]
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6952/fi-tgl-u2/igt@i915_selftest@live_gt_timelines.html
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3497/fi-tgl-u2/igt@i915_selftest@live_gt_timelines.html
Known issues
------------
Here are the changes found in IGTPW_3497 that come from known issues:
### IGT changes ###
#### Possible fixes ####
* igt@gem_ctx_switch@legacy-render:
- {fi-icl-guc}: [INCOMPLETE][3] ([fdo#107713] / [fdo#111381]) -> [PASS][4]
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6952/fi-icl-guc/igt@gem_ctx_switch@legacy-render.html
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3497/fi-icl-guc/igt@gem_ctx_switch@legacy-render.html
* igt@gem_exec_suspend@basic-s3:
- fi-blb-e6850: [INCOMPLETE][5] ([fdo#107718]) -> [PASS][6]
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6952/fi-blb-e6850/igt@gem_exec_suspend@basic-s3.html
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3497/fi-blb-e6850/igt@gem_exec_suspend@basic-s3.html
* igt@kms_chamelium@hdmi-hpd-fast:
- fi-kbl-7500u: [FAIL][7] ([fdo#111407]) -> [PASS][8]
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6952/fi-kbl-7500u/igt@kms_chamelium@hdmi-hpd-fast.html
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3497/fi-kbl-7500u/igt@kms_chamelium@hdmi-hpd-fast.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[fdo#107713]: https://bugs.freedesktop.org/show_bug.cgi?id=107713
[fdo#107718]: https://bugs.freedesktop.org/show_bug.cgi?id=107718
[fdo#111381]: https://bugs.freedesktop.org/show_bug.cgi?id=111381
[fdo#111407]: https://bugs.freedesktop.org/show_bug.cgi?id=111407
[fdo#111600]: https://bugs.freedesktop.org/show_bug.cgi?id=111600
Participating hosts (49 -> 43)
------------------------------
Additional (1): fi-kbl-soraka
Missing (7): fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-pnv-d510 fi-icl-y fi-bdw-samus
Build changes
-------------
* CI: CI-20190529 -> None
* IGT: IGT_5202 -> IGTPW_3497
CI-20190529: 20190529
CI_DRM_6952: ec3b5d92c87e554e407f308b4183f21d59c4a13d @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_3497: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3497/
IGT_5202: 3499c5eb17054e2abd88023fe962768140d24302 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
== Testlist changes ==
+igt@perf_pmu@semaphore-busy-bcs0
+igt@perf_pmu@semaphore-busy-rcs0
+igt@perf_pmu@semaphore-busy-vcs0
+igt@perf_pmu@semaphore-busy-vcs1
+igt@perf_pmu@semaphore-busy-vcs2
+igt@perf_pmu@semaphore-busy-vecs0
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3497/
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 16+ messages in thread
* [igt-dev] ✗ GitLab.Pipeline: warning for i915/perf_pmu: Compare semaphore and busy measurements
2019-09-24 22:01 ` [igt-dev] " Chris Wilson
(?)
(?)
@ 2019-09-24 22:31 ` Patchwork
-1 siblings, 0 replies; 16+ messages in thread
From: Patchwork @ 2019-09-24 22:31 UTC (permalink / raw)
To: Chris Wilson; +Cc: igt-dev
== Series Details ==
Series: i915/perf_pmu: Compare semaphore and busy measurements
URL : https://patchwork.freedesktop.org/series/67183/
State : warning
== Summary ==
Did not get list of undocumented tests for this run, something is wrong!
Other than that, pipeline status: FAILED.
see https://gitlab.freedesktop.org/gfx-ci/igt-ci-tags/pipelines/66153 for more details
== Logs ==
For more details see: https://gitlab.freedesktop.org/gfx-ci/igt-ci-tags/pipelines/66153
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH i-g-t] i915/perf_pmu: Compare semaphore and busy measurements
2019-09-24 22:01 ` [igt-dev] " Chris Wilson
@ 2019-09-25 8:36 ` Tvrtko Ursulin
-1 siblings, 0 replies; 16+ messages in thread
From: Tvrtko Ursulin @ 2019-09-25 8:36 UTC (permalink / raw)
To: Chris Wilson, intel-gfx; +Cc: igt-dev
On 24/09/2019 23:01, Chris Wilson wrote:
> Our semaphore time is measured by sampling a ring register, whereas our
> busy time is measured exactly. This leaves a window of discrepancy that
> we wish to keep small (at least within sample tolerance).
>
> References: https://bugs.freedesktop.org/show_bug.cgi?id=111788
> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
> ---
> tests/perf_pmu.c | 73 +++++++++++++++++++++++++++++++++++++++++++++++-
> 1 file changed, 72 insertions(+), 1 deletion(-)
>
> diff --git a/tests/perf_pmu.c b/tests/perf_pmu.c
> index 8a06e5d44..2fcaf88de 100644
> --- a/tests/perf_pmu.c
> +++ b/tests/perf_pmu.c
> @@ -130,7 +130,7 @@ static uint64_t pmu_read_multi(int fd, unsigned int num, uint64_t *val)
> #define __assert_within_epsilon(x, ref, tol_up, tol_down) \
> igt_assert_f((double)(x) <= (1.0 + (tol_up)) * (double)(ref) && \
> (double)(x) >= (1.0 - (tol_down)) * (double)(ref), \
> - "'%s' != '%s' (%f not within +%f%%/-%f%% tolerance of %f)\n",\
> + "'%s' != '%s' (%f not within +%.1f%%/-%.1f%% tolerance of %f)\n",\
> #x, #ref, (double)(x), \
> (tol_up) * 100.0, (tol_down) * 100.0, \
> (double)(ref))
> @@ -744,6 +744,74 @@ sema_wait(int gem_fd, const struct intel_execution_engine2 *e,
> assert_within_epsilon(val[1] - val[0], slept, tolerance);
> }
>
> +static void
> +__sema_busy(int gem_fd, int pmu,
> + const struct intel_execution_engine2 *e,
> + const struct intel_execution_engine2 *signal,
> + int sema_pct,
> + int busy_pct)
> +{
> + uint64_t total, sema, busy;
> + uint64_t start[2], end[2];
> + igt_spin_t *spin[2];
> +
> + spin[0] = igt_spin_new(gem_fd,
> + .engine = signal->flags,
> + .flags = IGT_SPIN_FENCE_OUT);
> + spin[1] = igt_spin_new(gem_fd,
> + .engine = e->flags,
> + .fence = spin[0]->out_fence,
> + .flags = IGT_SPIN_FENCE_IN);
> +
> + total = pmu_read_multi(pmu, 2, start);
Might be worth for result stability for have signaler with
IGT_SPIN_POLL_RUN and wait for it to run here before proceeding with sleeps.
> +
> + sema = measured_usleep(batch_duration_ns * sema_pct / 100 / 1000);
> + igt_spin_end(spin[0]);
> + busy = measured_usleep(batch_duration_ns * (busy_pct - sema_pct) / 100 / 1000);
busy is only ever used together with sema so it may make sense for
clarity to add sema to it straight away and then it would directly
correspond with the metric semantics.
> + igt_spin_end(spin[1]);
> + measured_usleep(batch_duration_ns * (100 - busy_pct) / 100 / 1000);
Required relationship between input sema_pct and busy_pct is a bit
non-obvious.
igt_assert(busy_pct >= sema_pct)?
> +
> + total = pmu_read_multi(pmu, 2, end) - total;
> +
> + igt_info("%s<-%s, target: {%.1f%% [%d], %.1f%% [%d]}, measured {%.1f%%, %.1f%%}\n",
> + e->name, signal->name,
> + sema * 100. / total, sema_pct,
> + (sema + busy) * 100. / total, busy_pct,
> + (end[0] - start[0]) * 100. / total,
> + (end[1] - start[1]) * 100. / total);
> +
> + assert_within_epsilon(end[0] - start[0], sema, tolerance);
> + assert_within_epsilon(end[1] - start[1], sema + busy, tolerance);
> + igt_assert((end[0] - start[0]) < (end[1] - start[1]) * (1 + tolerance));
__assert_within_epsilon with one of the tolerances zero?
> +
> + igt_spin_free(gem_fd, spin[1]);
> + igt_spin_free(gem_fd, spin[0]);
> +}
> +
> +static void
> +sema_busy(int gem_fd,
> + const struct intel_execution_engine2 *e,
> + unsigned int flags)
> +{
> + const struct intel_execution_engine2 *signal;
> + int fd;
> +
> + fd = open_group(I915_PMU_ENGINE_SEMA(e->class, e->instance), -1);
> + open_group(I915_PMU_ENGINE_BUSY(e->class, e->instance), fd);
> +
> + __for_each_physical_engine(gem_fd, signal) {
> + if (e->class == signal->class &&
> + e->instance == signal->instance)
> + continue;
> +
> + __sema_busy(gem_fd, fd, e, signal, 50, 100);
> + __sema_busy(gem_fd, fd, e, signal, 25, 50);
> + __sema_busy(gem_fd, fd, e, signal, 75, 75);
> + }
> +
> + close(fd);
> +}
> +
> #define MI_WAIT_FOR_PIPE_C_VBLANK (1<<21)
> #define MI_WAIT_FOR_PIPE_B_VBLANK (1<<11)
> #define MI_WAIT_FOR_PIPE_A_VBLANK (1<<3)
> @@ -1774,6 +1842,9 @@ igt_main
> sema_wait(fd, e,
> TEST_BUSY | TEST_TRAILING_IDLE);
>
> + igt_subtest_f("semaphore-busy-%s", e->name)
> + sema_busy(fd, e, 0);
> +
> /**
> * Check that two perf clients do not influence each
> * others observations.
>
Looking forward to results!
Regards,
Tvrtko
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [igt-dev] [Intel-gfx] [PATCH i-g-t] i915/perf_pmu: Compare semaphore and busy measurements
@ 2019-09-25 8:36 ` Tvrtko Ursulin
0 siblings, 0 replies; 16+ messages in thread
From: Tvrtko Ursulin @ 2019-09-25 8:36 UTC (permalink / raw)
To: Chris Wilson, intel-gfx; +Cc: igt-dev
On 24/09/2019 23:01, Chris Wilson wrote:
> Our semaphore time is measured by sampling a ring register, whereas our
> busy time is measured exactly. This leaves a window of discrepancy that
> we wish to keep small (at least within sample tolerance).
>
> References: https://bugs.freedesktop.org/show_bug.cgi?id=111788
> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
> ---
> tests/perf_pmu.c | 73 +++++++++++++++++++++++++++++++++++++++++++++++-
> 1 file changed, 72 insertions(+), 1 deletion(-)
>
> diff --git a/tests/perf_pmu.c b/tests/perf_pmu.c
> index 8a06e5d44..2fcaf88de 100644
> --- a/tests/perf_pmu.c
> +++ b/tests/perf_pmu.c
> @@ -130,7 +130,7 @@ static uint64_t pmu_read_multi(int fd, unsigned int num, uint64_t *val)
> #define __assert_within_epsilon(x, ref, tol_up, tol_down) \
> igt_assert_f((double)(x) <= (1.0 + (tol_up)) * (double)(ref) && \
> (double)(x) >= (1.0 - (tol_down)) * (double)(ref), \
> - "'%s' != '%s' (%f not within +%f%%/-%f%% tolerance of %f)\n",\
> + "'%s' != '%s' (%f not within +%.1f%%/-%.1f%% tolerance of %f)\n",\
> #x, #ref, (double)(x), \
> (tol_up) * 100.0, (tol_down) * 100.0, \
> (double)(ref))
> @@ -744,6 +744,74 @@ sema_wait(int gem_fd, const struct intel_execution_engine2 *e,
> assert_within_epsilon(val[1] - val[0], slept, tolerance);
> }
>
> +static void
> +__sema_busy(int gem_fd, int pmu,
> + const struct intel_execution_engine2 *e,
> + const struct intel_execution_engine2 *signal,
> + int sema_pct,
> + int busy_pct)
> +{
> + uint64_t total, sema, busy;
> + uint64_t start[2], end[2];
> + igt_spin_t *spin[2];
> +
> + spin[0] = igt_spin_new(gem_fd,
> + .engine = signal->flags,
> + .flags = IGT_SPIN_FENCE_OUT);
> + spin[1] = igt_spin_new(gem_fd,
> + .engine = e->flags,
> + .fence = spin[0]->out_fence,
> + .flags = IGT_SPIN_FENCE_IN);
> +
> + total = pmu_read_multi(pmu, 2, start);
Might be worth for result stability for have signaler with
IGT_SPIN_POLL_RUN and wait for it to run here before proceeding with sleeps.
> +
> + sema = measured_usleep(batch_duration_ns * sema_pct / 100 / 1000);
> + igt_spin_end(spin[0]);
> + busy = measured_usleep(batch_duration_ns * (busy_pct - sema_pct) / 100 / 1000);
busy is only ever used together with sema so it may make sense for
clarity to add sema to it straight away and then it would directly
correspond with the metric semantics.
> + igt_spin_end(spin[1]);
> + measured_usleep(batch_duration_ns * (100 - busy_pct) / 100 / 1000);
Required relationship between input sema_pct and busy_pct is a bit
non-obvious.
igt_assert(busy_pct >= sema_pct)?
> +
> + total = pmu_read_multi(pmu, 2, end) - total;
> +
> + igt_info("%s<-%s, target: {%.1f%% [%d], %.1f%% [%d]}, measured {%.1f%%, %.1f%%}\n",
> + e->name, signal->name,
> + sema * 100. / total, sema_pct,
> + (sema + busy) * 100. / total, busy_pct,
> + (end[0] - start[0]) * 100. / total,
> + (end[1] - start[1]) * 100. / total);
> +
> + assert_within_epsilon(end[0] - start[0], sema, tolerance);
> + assert_within_epsilon(end[1] - start[1], sema + busy, tolerance);
> + igt_assert((end[0] - start[0]) < (end[1] - start[1]) * (1 + tolerance));
__assert_within_epsilon with one of the tolerances zero?
> +
> + igt_spin_free(gem_fd, spin[1]);
> + igt_spin_free(gem_fd, spin[0]);
> +}
> +
> +static void
> +sema_busy(int gem_fd,
> + const struct intel_execution_engine2 *e,
> + unsigned int flags)
> +{
> + const struct intel_execution_engine2 *signal;
> + int fd;
> +
> + fd = open_group(I915_PMU_ENGINE_SEMA(e->class, e->instance), -1);
> + open_group(I915_PMU_ENGINE_BUSY(e->class, e->instance), fd);
> +
> + __for_each_physical_engine(gem_fd, signal) {
> + if (e->class == signal->class &&
> + e->instance == signal->instance)
> + continue;
> +
> + __sema_busy(gem_fd, fd, e, signal, 50, 100);
> + __sema_busy(gem_fd, fd, e, signal, 25, 50);
> + __sema_busy(gem_fd, fd, e, signal, 75, 75);
> + }
> +
> + close(fd);
> +}
> +
> #define MI_WAIT_FOR_PIPE_C_VBLANK (1<<21)
> #define MI_WAIT_FOR_PIPE_B_VBLANK (1<<11)
> #define MI_WAIT_FOR_PIPE_A_VBLANK (1<<3)
> @@ -1774,6 +1842,9 @@ igt_main
> sema_wait(fd, e,
> TEST_BUSY | TEST_TRAILING_IDLE);
>
> + igt_subtest_f("semaphore-busy-%s", e->name)
> + sema_busy(fd, e, 0);
> +
> /**
> * Check that two perf clients do not influence each
> * others observations.
>
Looking forward to results!
Regards,
Tvrtko
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 16+ messages in thread
* [PATCH i-g-t v2] i915/perf_pmu: Compare semaphore and busy measurements
2019-09-24 22:01 ` [igt-dev] " Chris Wilson
@ 2019-09-25 9:23 ` Chris Wilson
-1 siblings, 0 replies; 16+ messages in thread
From: Chris Wilson @ 2019-09-25 9:23 UTC (permalink / raw)
To: intel-gfx; +Cc: igt-dev
Our semaphore time is measured by sampling a ring register, whereas our
busy time is measured exactly. This leaves a window of discrepancy that
we wish to keep small (at least within sample tolerance).
v2: Explain the sema <= busy assert, and lots of other Tvrtko tweaks
References: https://bugs.freedesktop.org/show_bug.cgi?id=111788
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
---
tests/perf_pmu.c | 93 +++++++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 92 insertions(+), 1 deletion(-)
diff --git a/tests/perf_pmu.c b/tests/perf_pmu.c
index 8a06e5d44..2aed3381f 100644
--- a/tests/perf_pmu.c
+++ b/tests/perf_pmu.c
@@ -130,7 +130,7 @@ static uint64_t pmu_read_multi(int fd, unsigned int num, uint64_t *val)
#define __assert_within_epsilon(x, ref, tol_up, tol_down) \
igt_assert_f((double)(x) <= (1.0 + (tol_up)) * (double)(ref) && \
(double)(x) >= (1.0 - (tol_down)) * (double)(ref), \
- "'%s' != '%s' (%f not within +%f%%/-%f%% tolerance of %f)\n",\
+ "'%s' != '%s' (%f not within +%.1f%%/-%.1f%% tolerance of %f)\n",\
#x, #ref, (double)(x), \
(tol_up) * 100.0, (tol_down) * 100.0, \
(double)(ref))
@@ -744,6 +744,94 @@ sema_wait(int gem_fd, const struct intel_execution_engine2 *e,
assert_within_epsilon(val[1] - val[0], slept, tolerance);
}
+static void
+__sema_busy(int gem_fd, int pmu,
+ const struct intel_execution_engine2 *e,
+ const struct intel_execution_engine2 *signal,
+ int sema_pct,
+ int busy_pct)
+{
+ enum {
+ SEMA = 0,
+ BUSY,
+ };
+ uint64_t total, sema, busy;
+ uint64_t start[2], val[2];
+ igt_spin_t *spin[2];
+
+ /* Time spent being busy includes time waiting on semaphores */
+ igt_assert(busy_pct >= sema_pct);
+
+ gem_quiescent_gpu(gem_fd);
+
+ spin[0] = igt_spin_new(gem_fd,
+ .engine = signal->flags,
+ .flags = IGT_SPIN_FENCE_OUT | IGT_SPIN_POLL_RUN);
+ spin[1] = igt_spin_new(gem_fd,
+ .engine = e->flags,
+ .fence = spin[0]->out_fence,
+ .flags = IGT_SPIN_FENCE_IN);
+
+ igt_spin_busywait_until_started(spin[0]);
+
+ total = pmu_read_multi(pmu, 2, start);
+
+ sema = measured_usleep(batch_duration_ns * sema_pct / 100 / 1000);
+ igt_spin_end(spin[0]);
+ busy = measured_usleep(batch_duration_ns * (busy_pct - sema_pct) / 100 / 1000);
+ igt_spin_end(spin[1]);
+ measured_usleep(batch_duration_ns * (100 - busy_pct) / 100 / 1000);
+
+ total = pmu_read_multi(pmu, 2, val) - total;
+
+ busy += sema;
+ val[SEMA] -= start[SEMA];
+ val[BUSY] -= start[BUSY];
+
+ igt_info("%s<-%s, target: {%.1f%% [%d], %.1f%% [%d]}, measured: {%.1f%%, %.1f%%}\n",
+ e->name, signal->name,
+ sema * 100. / total, sema_pct,
+ busy * 100. / total, busy_pct,
+ val[SEMA] * 100. / total,
+ val[BUSY] * 100. / total);
+
+ assert_within_epsilon(val[SEMA], sema, tolerance);
+ assert_within_epsilon(val[BUSY], busy, tolerance);
+ igt_assert_f(val[SEMA] < val[BUSY] * (1 + tolerance),
+ "Semaphore time (%.3fus, %1.f%%) greater than total time busy (%.3fus, %1.f%%)!\n",
+ val[SEMA] * 1e-3, val[SEMA] * 100. / total,
+ val[BUSY] * 1e-3, val[BUSY] * 100. / total);
+
+ igt_spin_free(gem_fd, spin[1]);
+ igt_spin_free(gem_fd, spin[0]);
+}
+
+static void
+sema_busy(int gem_fd,
+ const struct intel_execution_engine2 *e,
+ unsigned int flags)
+{
+ const struct intel_execution_engine2 *signal;
+ int fd;
+
+ igt_require(gem_scheduler_has_semaphores(gem_fd));
+
+ fd = open_group(I915_PMU_ENGINE_SEMA(e->class, e->instance), -1);
+ open_group(I915_PMU_ENGINE_BUSY(e->class, e->instance), fd);
+
+ __for_each_physical_engine(gem_fd, signal) {
+ if (e->class == signal->class &&
+ e->instance == signal->instance)
+ continue;
+
+ __sema_busy(gem_fd, fd, e, signal, 50, 100);
+ __sema_busy(gem_fd, fd, e, signal, 25, 50);
+ __sema_busy(gem_fd, fd, e, signal, 75, 75);
+ }
+
+ close(fd);
+}
+
#define MI_WAIT_FOR_PIPE_C_VBLANK (1<<21)
#define MI_WAIT_FOR_PIPE_B_VBLANK (1<<11)
#define MI_WAIT_FOR_PIPE_A_VBLANK (1<<3)
@@ -1774,6 +1862,9 @@ igt_main
sema_wait(fd, e,
TEST_BUSY | TEST_TRAILING_IDLE);
+ igt_subtest_f("semaphore-busy-%s", e->name)
+ sema_busy(fd, e, 0);
+
/**
* Check that two perf clients do not influence each
* others observations.
--
2.23.0
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [igt-dev] [PATCH i-g-t v2] i915/perf_pmu: Compare semaphore and busy measurements
@ 2019-09-25 9:23 ` Chris Wilson
0 siblings, 0 replies; 16+ messages in thread
From: Chris Wilson @ 2019-09-25 9:23 UTC (permalink / raw)
To: intel-gfx; +Cc: igt-dev, Tvrtko Ursulin
Our semaphore time is measured by sampling a ring register, whereas our
busy time is measured exactly. This leaves a window of discrepancy that
we wish to keep small (at least within sample tolerance).
v2: Explain the sema <= busy assert, and lots of other Tvrtko tweaks
References: https://bugs.freedesktop.org/show_bug.cgi?id=111788
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
---
tests/perf_pmu.c | 93 +++++++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 92 insertions(+), 1 deletion(-)
diff --git a/tests/perf_pmu.c b/tests/perf_pmu.c
index 8a06e5d44..2aed3381f 100644
--- a/tests/perf_pmu.c
+++ b/tests/perf_pmu.c
@@ -130,7 +130,7 @@ static uint64_t pmu_read_multi(int fd, unsigned int num, uint64_t *val)
#define __assert_within_epsilon(x, ref, tol_up, tol_down) \
igt_assert_f((double)(x) <= (1.0 + (tol_up)) * (double)(ref) && \
(double)(x) >= (1.0 - (tol_down)) * (double)(ref), \
- "'%s' != '%s' (%f not within +%f%%/-%f%% tolerance of %f)\n",\
+ "'%s' != '%s' (%f not within +%.1f%%/-%.1f%% tolerance of %f)\n",\
#x, #ref, (double)(x), \
(tol_up) * 100.0, (tol_down) * 100.0, \
(double)(ref))
@@ -744,6 +744,94 @@ sema_wait(int gem_fd, const struct intel_execution_engine2 *e,
assert_within_epsilon(val[1] - val[0], slept, tolerance);
}
+static void
+__sema_busy(int gem_fd, int pmu,
+ const struct intel_execution_engine2 *e,
+ const struct intel_execution_engine2 *signal,
+ int sema_pct,
+ int busy_pct)
+{
+ enum {
+ SEMA = 0,
+ BUSY,
+ };
+ uint64_t total, sema, busy;
+ uint64_t start[2], val[2];
+ igt_spin_t *spin[2];
+
+ /* Time spent being busy includes time waiting on semaphores */
+ igt_assert(busy_pct >= sema_pct);
+
+ gem_quiescent_gpu(gem_fd);
+
+ spin[0] = igt_spin_new(gem_fd,
+ .engine = signal->flags,
+ .flags = IGT_SPIN_FENCE_OUT | IGT_SPIN_POLL_RUN);
+ spin[1] = igt_spin_new(gem_fd,
+ .engine = e->flags,
+ .fence = spin[0]->out_fence,
+ .flags = IGT_SPIN_FENCE_IN);
+
+ igt_spin_busywait_until_started(spin[0]);
+
+ total = pmu_read_multi(pmu, 2, start);
+
+ sema = measured_usleep(batch_duration_ns * sema_pct / 100 / 1000);
+ igt_spin_end(spin[0]);
+ busy = measured_usleep(batch_duration_ns * (busy_pct - sema_pct) / 100 / 1000);
+ igt_spin_end(spin[1]);
+ measured_usleep(batch_duration_ns * (100 - busy_pct) / 100 / 1000);
+
+ total = pmu_read_multi(pmu, 2, val) - total;
+
+ busy += sema;
+ val[SEMA] -= start[SEMA];
+ val[BUSY] -= start[BUSY];
+
+ igt_info("%s<-%s, target: {%.1f%% [%d], %.1f%% [%d]}, measured: {%.1f%%, %.1f%%}\n",
+ e->name, signal->name,
+ sema * 100. / total, sema_pct,
+ busy * 100. / total, busy_pct,
+ val[SEMA] * 100. / total,
+ val[BUSY] * 100. / total);
+
+ assert_within_epsilon(val[SEMA], sema, tolerance);
+ assert_within_epsilon(val[BUSY], busy, tolerance);
+ igt_assert_f(val[SEMA] < val[BUSY] * (1 + tolerance),
+ "Semaphore time (%.3fus, %1.f%%) greater than total time busy (%.3fus, %1.f%%)!\n",
+ val[SEMA] * 1e-3, val[SEMA] * 100. / total,
+ val[BUSY] * 1e-3, val[BUSY] * 100. / total);
+
+ igt_spin_free(gem_fd, spin[1]);
+ igt_spin_free(gem_fd, spin[0]);
+}
+
+static void
+sema_busy(int gem_fd,
+ const struct intel_execution_engine2 *e,
+ unsigned int flags)
+{
+ const struct intel_execution_engine2 *signal;
+ int fd;
+
+ igt_require(gem_scheduler_has_semaphores(gem_fd));
+
+ fd = open_group(I915_PMU_ENGINE_SEMA(e->class, e->instance), -1);
+ open_group(I915_PMU_ENGINE_BUSY(e->class, e->instance), fd);
+
+ __for_each_physical_engine(gem_fd, signal) {
+ if (e->class == signal->class &&
+ e->instance == signal->instance)
+ continue;
+
+ __sema_busy(gem_fd, fd, e, signal, 50, 100);
+ __sema_busy(gem_fd, fd, e, signal, 25, 50);
+ __sema_busy(gem_fd, fd, e, signal, 75, 75);
+ }
+
+ close(fd);
+}
+
#define MI_WAIT_FOR_PIPE_C_VBLANK (1<<21)
#define MI_WAIT_FOR_PIPE_B_VBLANK (1<<11)
#define MI_WAIT_FOR_PIPE_A_VBLANK (1<<3)
@@ -1774,6 +1862,9 @@ igt_main
sema_wait(fd, e,
TEST_BUSY | TEST_TRAILING_IDLE);
+ igt_subtest_f("semaphore-busy-%s", e->name)
+ sema_busy(fd, e, 0);
+
/**
* Check that two perf clients do not influence each
* others observations.
--
2.23.0
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply related [flat|nested] 16+ messages in thread
* Re: [PATCH i-g-t v2] i915/perf_pmu: Compare semaphore and busy measurements
2019-09-25 9:23 ` [igt-dev] " Chris Wilson
@ 2019-09-25 9:27 ` Tvrtko Ursulin
-1 siblings, 0 replies; 16+ messages in thread
From: Tvrtko Ursulin @ 2019-09-25 9:27 UTC (permalink / raw)
To: Chris Wilson, intel-gfx; +Cc: igt-dev
On 25/09/2019 10:23, Chris Wilson wrote:
> Our semaphore time is measured by sampling a ring register, whereas our
> busy time is measured exactly. This leaves a window of discrepancy that
> we wish to keep small (at least within sample tolerance).
>
> v2: Explain the sema <= busy assert, and lots of other Tvrtko tweaks
>
> References: https://bugs.freedesktop.org/show_bug.cgi?id=111788
> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
> ---
> tests/perf_pmu.c | 93 +++++++++++++++++++++++++++++++++++++++++++++++-
> 1 file changed, 92 insertions(+), 1 deletion(-)
>
> diff --git a/tests/perf_pmu.c b/tests/perf_pmu.c
> index 8a06e5d44..2aed3381f 100644
> --- a/tests/perf_pmu.c
> +++ b/tests/perf_pmu.c
> @@ -130,7 +130,7 @@ static uint64_t pmu_read_multi(int fd, unsigned int num, uint64_t *val)
> #define __assert_within_epsilon(x, ref, tol_up, tol_down) \
> igt_assert_f((double)(x) <= (1.0 + (tol_up)) * (double)(ref) && \
> (double)(x) >= (1.0 - (tol_down)) * (double)(ref), \
> - "'%s' != '%s' (%f not within +%f%%/-%f%% tolerance of %f)\n",\
> + "'%s' != '%s' (%f not within +%.1f%%/-%.1f%% tolerance of %f)\n",\
> #x, #ref, (double)(x), \
> (tol_up) * 100.0, (tol_down) * 100.0, \
> (double)(ref))
> @@ -744,6 +744,94 @@ sema_wait(int gem_fd, const struct intel_execution_engine2 *e,
> assert_within_epsilon(val[1] - val[0], slept, tolerance);
> }
>
> +static void
> +__sema_busy(int gem_fd, int pmu,
> + const struct intel_execution_engine2 *e,
> + const struct intel_execution_engine2 *signal,
> + int sema_pct,
> + int busy_pct)
> +{
> + enum {
> + SEMA = 0,
> + BUSY,
> + };
> + uint64_t total, sema, busy;
> + uint64_t start[2], val[2];
> + igt_spin_t *spin[2];
> +
> + /* Time spent being busy includes time waiting on semaphores */
> + igt_assert(busy_pct >= sema_pct);
> +
> + gem_quiescent_gpu(gem_fd);
> +
> + spin[0] = igt_spin_new(gem_fd,
> + .engine = signal->flags,
> + .flags = IGT_SPIN_FENCE_OUT | IGT_SPIN_POLL_RUN);
> + spin[1] = igt_spin_new(gem_fd,
> + .engine = e->flags,
> + .fence = spin[0]->out_fence,
> + .flags = IGT_SPIN_FENCE_IN);
> +
> + igt_spin_busywait_until_started(spin[0]);
> +
> + total = pmu_read_multi(pmu, 2, start);
> +
> + sema = measured_usleep(batch_duration_ns * sema_pct / 100 / 1000);
> + igt_spin_end(spin[0]);
> + busy = measured_usleep(batch_duration_ns * (busy_pct - sema_pct) / 100 / 1000);
> + igt_spin_end(spin[1]);
> + measured_usleep(batch_duration_ns * (100 - busy_pct) / 100 / 1000);
> +
> + total = pmu_read_multi(pmu, 2, val) - total;
> +
> + busy += sema;
> + val[SEMA] -= start[SEMA];
> + val[BUSY] -= start[BUSY];
> +
> + igt_info("%s<-%s, target: {%.1f%% [%d], %.1f%% [%d]}, measured: {%.1f%%, %.1f%%}\n",
> + e->name, signal->name,
> + sema * 100. / total, sema_pct,
> + busy * 100. / total, busy_pct,
> + val[SEMA] * 100. / total,
> + val[BUSY] * 100. / total);
> +
> + assert_within_epsilon(val[SEMA], sema, tolerance);
> + assert_within_epsilon(val[BUSY], busy, tolerance);
> + igt_assert_f(val[SEMA] < val[BUSY] * (1 + tolerance),
> + "Semaphore time (%.3fus, %1.f%%) greater than total time busy (%.3fus, %1.f%%)!\n",
> + val[SEMA] * 1e-3, val[SEMA] * 100. / total,
> + val[BUSY] * 1e-3, val[BUSY] * 100. / total);
> +
> + igt_spin_free(gem_fd, spin[1]);
> + igt_spin_free(gem_fd, spin[0]);
> +}
> +
> +static void
> +sema_busy(int gem_fd,
> + const struct intel_execution_engine2 *e,
> + unsigned int flags)
> +{
> + const struct intel_execution_engine2 *signal;
> + int fd;
> +
> + igt_require(gem_scheduler_has_semaphores(gem_fd));
> +
> + fd = open_group(I915_PMU_ENGINE_SEMA(e->class, e->instance), -1);
> + open_group(I915_PMU_ENGINE_BUSY(e->class, e->instance), fd);
> +
> + __for_each_physical_engine(gem_fd, signal) {
> + if (e->class == signal->class &&
> + e->instance == signal->instance)
> + continue;
> +
> + __sema_busy(gem_fd, fd, e, signal, 50, 100);
> + __sema_busy(gem_fd, fd, e, signal, 25, 50);
> + __sema_busy(gem_fd, fd, e, signal, 75, 75);
> + }
> +
> + close(fd);
> +}
> +
> #define MI_WAIT_FOR_PIPE_C_VBLANK (1<<21)
> #define MI_WAIT_FOR_PIPE_B_VBLANK (1<<11)
> #define MI_WAIT_FOR_PIPE_A_VBLANK (1<<3)
> @@ -1774,6 +1862,9 @@ igt_main
> sema_wait(fd, e,
> TEST_BUSY | TEST_TRAILING_IDLE);
>
> + igt_subtest_f("semaphore-busy-%s", e->name)
> + sema_busy(fd, e, 0);
> +
> /**
> * Check that two perf clients do not influence each
> * others observations.
>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Regards,
Tvrtko
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [Intel-gfx] [PATCH i-g-t v2] i915/perf_pmu: Compare semaphore and busy measurements
@ 2019-09-25 9:27 ` Tvrtko Ursulin
0 siblings, 0 replies; 16+ messages in thread
From: Tvrtko Ursulin @ 2019-09-25 9:27 UTC (permalink / raw)
To: Chris Wilson, intel-gfx; +Cc: igt-dev
On 25/09/2019 10:23, Chris Wilson wrote:
> Our semaphore time is measured by sampling a ring register, whereas our
> busy time is measured exactly. This leaves a window of discrepancy that
> we wish to keep small (at least within sample tolerance).
>
> v2: Explain the sema <= busy assert, and lots of other Tvrtko tweaks
>
> References: https://bugs.freedesktop.org/show_bug.cgi?id=111788
> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
> ---
> tests/perf_pmu.c | 93 +++++++++++++++++++++++++++++++++++++++++++++++-
> 1 file changed, 92 insertions(+), 1 deletion(-)
>
> diff --git a/tests/perf_pmu.c b/tests/perf_pmu.c
> index 8a06e5d44..2aed3381f 100644
> --- a/tests/perf_pmu.c
> +++ b/tests/perf_pmu.c
> @@ -130,7 +130,7 @@ static uint64_t pmu_read_multi(int fd, unsigned int num, uint64_t *val)
> #define __assert_within_epsilon(x, ref, tol_up, tol_down) \
> igt_assert_f((double)(x) <= (1.0 + (tol_up)) * (double)(ref) && \
> (double)(x) >= (1.0 - (tol_down)) * (double)(ref), \
> - "'%s' != '%s' (%f not within +%f%%/-%f%% tolerance of %f)\n",\
> + "'%s' != '%s' (%f not within +%.1f%%/-%.1f%% tolerance of %f)\n",\
> #x, #ref, (double)(x), \
> (tol_up) * 100.0, (tol_down) * 100.0, \
> (double)(ref))
> @@ -744,6 +744,94 @@ sema_wait(int gem_fd, const struct intel_execution_engine2 *e,
> assert_within_epsilon(val[1] - val[0], slept, tolerance);
> }
>
> +static void
> +__sema_busy(int gem_fd, int pmu,
> + const struct intel_execution_engine2 *e,
> + const struct intel_execution_engine2 *signal,
> + int sema_pct,
> + int busy_pct)
> +{
> + enum {
> + SEMA = 0,
> + BUSY,
> + };
> + uint64_t total, sema, busy;
> + uint64_t start[2], val[2];
> + igt_spin_t *spin[2];
> +
> + /* Time spent being busy includes time waiting on semaphores */
> + igt_assert(busy_pct >= sema_pct);
> +
> + gem_quiescent_gpu(gem_fd);
> +
> + spin[0] = igt_spin_new(gem_fd,
> + .engine = signal->flags,
> + .flags = IGT_SPIN_FENCE_OUT | IGT_SPIN_POLL_RUN);
> + spin[1] = igt_spin_new(gem_fd,
> + .engine = e->flags,
> + .fence = spin[0]->out_fence,
> + .flags = IGT_SPIN_FENCE_IN);
> +
> + igt_spin_busywait_until_started(spin[0]);
> +
> + total = pmu_read_multi(pmu, 2, start);
> +
> + sema = measured_usleep(batch_duration_ns * sema_pct / 100 / 1000);
> + igt_spin_end(spin[0]);
> + busy = measured_usleep(batch_duration_ns * (busy_pct - sema_pct) / 100 / 1000);
> + igt_spin_end(spin[1]);
> + measured_usleep(batch_duration_ns * (100 - busy_pct) / 100 / 1000);
> +
> + total = pmu_read_multi(pmu, 2, val) - total;
> +
> + busy += sema;
> + val[SEMA] -= start[SEMA];
> + val[BUSY] -= start[BUSY];
> +
> + igt_info("%s<-%s, target: {%.1f%% [%d], %.1f%% [%d]}, measured: {%.1f%%, %.1f%%}\n",
> + e->name, signal->name,
> + sema * 100. / total, sema_pct,
> + busy * 100. / total, busy_pct,
> + val[SEMA] * 100. / total,
> + val[BUSY] * 100. / total);
> +
> + assert_within_epsilon(val[SEMA], sema, tolerance);
> + assert_within_epsilon(val[BUSY], busy, tolerance);
> + igt_assert_f(val[SEMA] < val[BUSY] * (1 + tolerance),
> + "Semaphore time (%.3fus, %1.f%%) greater than total time busy (%.3fus, %1.f%%)!\n",
> + val[SEMA] * 1e-3, val[SEMA] * 100. / total,
> + val[BUSY] * 1e-3, val[BUSY] * 100. / total);
> +
> + igt_spin_free(gem_fd, spin[1]);
> + igt_spin_free(gem_fd, spin[0]);
> +}
> +
> +static void
> +sema_busy(int gem_fd,
> + const struct intel_execution_engine2 *e,
> + unsigned int flags)
> +{
> + const struct intel_execution_engine2 *signal;
> + int fd;
> +
> + igt_require(gem_scheduler_has_semaphores(gem_fd));
> +
> + fd = open_group(I915_PMU_ENGINE_SEMA(e->class, e->instance), -1);
> + open_group(I915_PMU_ENGINE_BUSY(e->class, e->instance), fd);
> +
> + __for_each_physical_engine(gem_fd, signal) {
> + if (e->class == signal->class &&
> + e->instance == signal->instance)
> + continue;
> +
> + __sema_busy(gem_fd, fd, e, signal, 50, 100);
> + __sema_busy(gem_fd, fd, e, signal, 25, 50);
> + __sema_busy(gem_fd, fd, e, signal, 75, 75);
> + }
> +
> + close(fd);
> +}
> +
> #define MI_WAIT_FOR_PIPE_C_VBLANK (1<<21)
> #define MI_WAIT_FOR_PIPE_B_VBLANK (1<<11)
> #define MI_WAIT_FOR_PIPE_A_VBLANK (1<<3)
> @@ -1774,6 +1862,9 @@ igt_main
> sema_wait(fd, e,
> TEST_BUSY | TEST_TRAILING_IDLE);
>
> + igt_subtest_f("semaphore-busy-%s", e->name)
> + sema_busy(fd, e, 0);
> +
> /**
> * Check that two perf clients do not influence each
> * others observations.
>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Regards,
Tvrtko
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 16+ messages in thread
* [igt-dev] ✗ GitLab.Pipeline: warning for i915/perf_pmu: Compare semaphore and busy measurements (rev2)
2019-09-24 22:01 ` [igt-dev] " Chris Wilson
` (4 preceding siblings ...)
(?)
@ 2019-09-25 9:51 ` Patchwork
-1 siblings, 0 replies; 16+ messages in thread
From: Patchwork @ 2019-09-25 9:51 UTC (permalink / raw)
To: Chris Wilson; +Cc: igt-dev
== Series Details ==
Series: i915/perf_pmu: Compare semaphore and busy measurements (rev2)
URL : https://patchwork.freedesktop.org/series/67183/
State : warning
== Summary ==
ERROR! This series introduces new undocumented tests:
perf_pmu@semaphore-busy-bcs0
perf_pmu@semaphore-busy-rcs0
perf_pmu@semaphore-busy-vcs0
perf_pmu@semaphore-busy-vcs1
perf_pmu@semaphore-busy-vcs2
perf_pmu@semaphore-busy-vecs0
Can you document them as per the requirement in the [CONTRIBUTING.md]?
[Documentation] has more details on how to do this.
Here are few examples:
https://gitlab.freedesktop.org/drm/igt-gpu-tools/commit/0316695d03aa46108296b27f3982ec93200c7a6e
https://gitlab.freedesktop.org/drm/igt-gpu-tools/commit/443cc658e1e6b492ee17bf4f4d891029eb7a205d
Thanks in advance!
[CONTRIBUTING.md]: https://gitlab.freedesktop.org/drm/igt-gpu-tools/blob/master/CONTRIBUTING.md#L19
[Documentation]: https://drm.pages.freedesktop.org/igt-gpu-tools/igt-gpu-tools-Core.html#igt-describe
Other than that, pipeline status: SUCCESS.
see https://gitlab.freedesktop.org/gfx-ci/igt-ci-tags/pipelines/66301 for more details
== Logs ==
For more details see: https://gitlab.freedesktop.org/gfx-ci/igt-ci-tags/pipelines/66301
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 16+ messages in thread
* [igt-dev] ✓ Fi.CI.BAT: success for i915/perf_pmu: Compare semaphore and busy measurements (rev2)
2019-09-24 22:01 ` [igt-dev] " Chris Wilson
` (5 preceding siblings ...)
(?)
@ 2019-09-25 9:58 ` Patchwork
-1 siblings, 0 replies; 16+ messages in thread
From: Patchwork @ 2019-09-25 9:58 UTC (permalink / raw)
To: Chris Wilson; +Cc: igt-dev
== Series Details ==
Series: i915/perf_pmu: Compare semaphore and busy measurements (rev2)
URL : https://patchwork.freedesktop.org/series/67183/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_6954 -> IGTPW_3498
====================================================
Summary
-------
**SUCCESS**
No regressions found.
External URL: https://patchwork.freedesktop.org/api/1.0/series/67183/revisions/2/mbox/
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in IGTPW_3498:
### IGT changes ###
#### Suppressed ####
The following results come from untrusted machines, tests, or statuses.
They do not affect the overall result.
* igt@gem_mmap_gtt@basic-write:
- {fi-tgl-u}: NOTRUN -> [INCOMPLETE][1]
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3498/fi-tgl-u/igt@gem_mmap_gtt@basic-write.html
Known issues
------------
Here are the changes found in IGTPW_3498 that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@gem_exec_suspend@basic-s4-devices:
- fi-kbl-7500u: [PASS][2] -> [DMESG-WARN][3] ([fdo#105128] / [fdo#107139])
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6954/fi-kbl-7500u/igt@gem_exec_suspend@basic-s4-devices.html
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3498/fi-kbl-7500u/igt@gem_exec_suspend@basic-s4-devices.html
#### Possible fixes ####
* igt@kms_frontbuffer_tracking@basic:
- fi-hsw-peppy: [DMESG-WARN][4] ([fdo#102614]) -> [PASS][5]
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6954/fi-hsw-peppy/igt@kms_frontbuffer_tracking@basic.html
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3498/fi-hsw-peppy/igt@kms_frontbuffer_tracking@basic.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[fdo#102614]: https://bugs.freedesktop.org/show_bug.cgi?id=102614
[fdo#105128]: https://bugs.freedesktop.org/show_bug.cgi?id=105128
[fdo#106107]: https://bugs.freedesktop.org/show_bug.cgi?id=106107
[fdo#107139]: https://bugs.freedesktop.org/show_bug.cgi?id=107139
Participating hosts (51 -> 44)
------------------------------
Additional (1): fi-tgl-u
Missing (8): fi-ilk-m540 fi-bxt-dsi fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-icl-y fi-byt-clapper fi-bdw-samus
Build changes
-------------
* CI: CI-20190529 -> None
* IGT: IGT_5202 -> IGTPW_3498
CI-20190529: 20190529
CI_DRM_6954: 80fa0e042cdb3da59d2c738db61b8da78cf29e0d @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_3498: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3498/
IGT_5202: 3499c5eb17054e2abd88023fe962768140d24302 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
== Testlist changes ==
+igt@perf_pmu@semaphore-busy-bcs0
+igt@perf_pmu@semaphore-busy-rcs0
+igt@perf_pmu@semaphore-busy-vcs0
+igt@perf_pmu@semaphore-busy-vcs1
+igt@perf_pmu@semaphore-busy-vcs2
+igt@perf_pmu@semaphore-busy-vecs0
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3498/
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 16+ messages in thread
* [igt-dev] ✓ Fi.CI.IGT: success for i915/perf_pmu: Compare semaphore and busy measurements
2019-09-24 22:01 ` [igt-dev] " Chris Wilson
` (6 preceding siblings ...)
(?)
@ 2019-09-25 17:06 ` Patchwork
-1 siblings, 0 replies; 16+ messages in thread
From: Patchwork @ 2019-09-25 17:06 UTC (permalink / raw)
To: Chris Wilson; +Cc: igt-dev
== Series Details ==
Series: i915/perf_pmu: Compare semaphore and busy measurements
URL : https://patchwork.freedesktop.org/series/67183/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_6952_full -> IGTPW_3497_full
====================================================
Summary
-------
**SUCCESS**
No regressions found.
External URL: https://patchwork.freedesktop.org/api/1.0/series/67183/revisions/1/mbox/
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in IGTPW_3497_full:
### IGT changes ###
#### Possible regressions ####
* {igt@perf_pmu@semaphore-busy-bcs0} (NEW):
- shard-snb: NOTRUN -> [FAIL][1] +2 similar issues
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3497/shard-snb4/igt@perf_pmu@semaphore-busy-bcs0.html
* {igt@perf_pmu@semaphore-busy-rcs0} (NEW):
- shard-hsw: NOTRUN -> [FAIL][2] +3 similar issues
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3497/shard-hsw5/igt@perf_pmu@semaphore-busy-rcs0.html
New tests
---------
New tests have been introduced between CI_DRM_6952_full and IGTPW_3497_full:
### New IGT tests (6) ###
* igt@perf_pmu@semaphore-busy-bcs0:
- Statuses : 2 fail(s) 4 pass(s)
- Exec time: [0.58, 6.06] s
* igt@perf_pmu@semaphore-busy-rcs0:
- Statuses : 2 fail(s) 3 pass(s)
- Exec time: [0.55, 6.05] s
* igt@perf_pmu@semaphore-busy-vcs0:
- Statuses : 2 fail(s) 4 pass(s)
- Exec time: [0.57, 6.06] s
* igt@perf_pmu@semaphore-busy-vcs1:
- Statuses : 2 pass(s)
- Exec time: [6.04, 6.06] s
* igt@perf_pmu@semaphore-busy-vcs2:
- Statuses :
- Exec time: [None] s
* igt@perf_pmu@semaphore-busy-vecs0:
- Statuses : 1 fail(s) 4 pass(s)
- Exec time: [0.56, 6.06] s
Known issues
------------
Here are the changes found in IGTPW_3497_full that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@gem_ctx_switch@legacy-bsd2-heavy:
- shard-iclb: [PASS][3] -> [SKIP][4] ([fdo#109276]) +16 similar issues
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6952/shard-iclb4/igt@gem_ctx_switch@legacy-bsd2-heavy.html
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3497/shard-iclb5/igt@gem_ctx_switch@legacy-bsd2-heavy.html
* igt@gem_exec_schedule@preemptive-hang-bsd:
- shard-iclb: [PASS][5] -> [SKIP][6] ([fdo#111325]) +3 similar issues
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6952/shard-iclb8/igt@gem_exec_schedule@preemptive-hang-bsd.html
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3497/shard-iclb1/igt@gem_exec_schedule@preemptive-hang-bsd.html
* igt@gem_workarounds@suspend-resume:
- shard-apl: [PASS][7] -> [DMESG-WARN][8] ([fdo#108566]) +1 similar issue
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6952/shard-apl2/igt@gem_workarounds@suspend-resume.html
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3497/shard-apl1/igt@gem_workarounds@suspend-resume.html
* igt@kms_concurrent@pipe-a:
- shard-apl: [PASS][9] -> [INCOMPLETE][10] ([fdo#103927])
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6952/shard-apl2/igt@kms_concurrent@pipe-a.html
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3497/shard-apl3/igt@kms_concurrent@pipe-a.html
* igt@kms_cursor_crc@pipe-a-cursor-64x21-onscreen:
- shard-kbl: [PASS][11] -> [FAIL][12] ([fdo#103232])
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6952/shard-kbl1/igt@kms_cursor_crc@pipe-a-cursor-64x21-onscreen.html
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3497/shard-kbl4/igt@kms_cursor_crc@pipe-a-cursor-64x21-onscreen.html
* igt@kms_cursor_crc@pipe-c-cursor-128x42-sliding:
- shard-apl: [PASS][13] -> [FAIL][14] ([fdo#103232])
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6952/shard-apl3/igt@kms_cursor_crc@pipe-c-cursor-128x42-sliding.html
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3497/shard-apl7/igt@kms_cursor_crc@pipe-c-cursor-128x42-sliding.html
* igt@kms_cursor_crc@pipe-c-cursor-64x21-offscreen:
- shard-iclb: [PASS][15] -> [INCOMPLETE][16] ([fdo#107713])
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6952/shard-iclb8/igt@kms_cursor_crc@pipe-c-cursor-64x21-offscreen.html
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3497/shard-iclb7/igt@kms_cursor_crc@pipe-c-cursor-64x21-offscreen.html
* igt@kms_cursor_legacy@cursor-vs-flip-toggle:
- shard-hsw: [PASS][17] -> [FAIL][18] ([fdo#103355])
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6952/shard-hsw6/igt@kms_cursor_legacy@cursor-vs-flip-toggle.html
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3497/shard-hsw1/igt@kms_cursor_legacy@cursor-vs-flip-toggle.html
* igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-move:
- shard-iclb: [PASS][19] -> [FAIL][20] ([fdo#103167]) +4 similar issues
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6952/shard-iclb4/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-move.html
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3497/shard-iclb8/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-move.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-onoff:
- shard-iclb: [PASS][21] -> [INCOMPLETE][22] ([fdo#106978] / [fdo#107713])
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6952/shard-iclb6/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-onoff.html
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3497/shard-iclb7/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-onoff.html
* igt@kms_plane@plane-panning-bottom-right-suspend-pipe-b-planes:
- shard-kbl: [PASS][23] -> [DMESG-WARN][24] ([fdo#108566]) +1 similar issue
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6952/shard-kbl2/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-b-planes.html
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3497/shard-kbl3/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-b-planes.html
* igt@kms_psr@psr2_no_drrs:
- shard-iclb: [PASS][25] -> [SKIP][26] ([fdo#109441])
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6952/shard-iclb2/igt@kms_psr@psr2_no_drrs.html
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3497/shard-iclb8/igt@kms_psr@psr2_no_drrs.html
* igt@kms_setmode@basic:
- shard-hsw: [PASS][27] -> [FAIL][28] ([fdo#99912])
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6952/shard-hsw5/igt@kms_setmode@basic.html
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3497/shard-hsw6/igt@kms_setmode@basic.html
* igt@tools_test@sysfs_l3_parity:
- shard-hsw: [PASS][29] -> [SKIP][30] ([fdo#109271])
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6952/shard-hsw4/igt@tools_test@sysfs_l3_parity.html
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3497/shard-hsw6/igt@tools_test@sysfs_l3_parity.html
#### Possible fixes ####
* igt@gem_ctx_switch@bcs0-heavy-queue:
- shard-apl: [INCOMPLETE][31] ([fdo#103927]) -> [PASS][32] +1 similar issue
[31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6952/shard-apl4/igt@gem_ctx_switch@bcs0-heavy-queue.html
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3497/shard-apl8/igt@gem_ctx_switch@bcs0-heavy-queue.html
* igt@gem_exec_schedule@preempt-other-bsd1:
- shard-iclb: [SKIP][33] ([fdo#109276]) -> [PASS][34] +11 similar issues
[33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6952/shard-iclb3/igt@gem_exec_schedule@preempt-other-bsd1.html
[34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3497/shard-iclb4/igt@gem_exec_schedule@preempt-other-bsd1.html
* igt@gem_exec_schedule@reorder-wide-bsd:
- shard-iclb: [SKIP][35] ([fdo#111325]) -> [PASS][36] +6 similar issues
[35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6952/shard-iclb4/igt@gem_exec_schedule@reorder-wide-bsd.html
[36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3497/shard-iclb5/igt@gem_exec_schedule@reorder-wide-bsd.html
* igt@gem_softpin@noreloc-s3:
- shard-kbl: [DMESG-WARN][37] ([fdo#108566]) -> [PASS][38]
[37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6952/shard-kbl3/igt@gem_softpin@noreloc-s3.html
[38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3497/shard-kbl6/igt@gem_softpin@noreloc-s3.html
* igt@gem_tiled_swapping@non-threaded:
- shard-apl: [DMESG-WARN][39] ([fdo#108686]) -> [PASS][40]
[39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6952/shard-apl7/igt@gem_tiled_swapping@non-threaded.html
[40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3497/shard-apl5/igt@gem_tiled_swapping@non-threaded.html
* {igt@i915_pm_dc@dc6-psr}:
- shard-iclb: [FAIL][41] ([fdo#110548]) -> [PASS][42]
[41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6952/shard-iclb6/igt@i915_pm_dc@dc6-psr.html
[42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3497/shard-iclb7/igt@i915_pm_dc@dc6-psr.html
* igt@i915_suspend@fence-restore-tiled2untiled:
- shard-apl: [DMESG-WARN][43] ([fdo#108566]) -> [PASS][44] +4 similar issues
[43]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6952/shard-apl4/igt@i915_suspend@fence-restore-tiled2untiled.html
[44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3497/shard-apl7/igt@i915_suspend@fence-restore-tiled2untiled.html
* igt@kms_flip@2x-plain-flip-fb-recreate-interruptible:
- shard-hsw: [INCOMPLETE][45] ([fdo#103540]) -> [PASS][46]
[45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6952/shard-hsw4/igt@kms_flip@2x-plain-flip-fb-recreate-interruptible.html
[46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3497/shard-hsw6/igt@kms_flip@2x-plain-flip-fb-recreate-interruptible.html
* igt@kms_frontbuffer_tracking@fbc-1p-pri-indfb-multidraw:
- shard-iclb: [FAIL][47] ([fdo#103167]) -> [PASS][48] +3 similar issues
[47]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6952/shard-iclb2/igt@kms_frontbuffer_tracking@fbc-1p-pri-indfb-multidraw.html
[48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3497/shard-iclb4/igt@kms_frontbuffer_tracking@fbc-1p-pri-indfb-multidraw.html
* igt@kms_frontbuffer_tracking@fbcpsr-slowdraw:
- shard-iclb: [INCOMPLETE][49] ([fdo#106978] / [fdo#107713]) -> [PASS][50]
[49]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6952/shard-iclb1/igt@kms_frontbuffer_tracking@fbcpsr-slowdraw.html
[50]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3497/shard-iclb7/igt@kms_frontbuffer_tracking@fbcpsr-slowdraw.html
* igt@kms_plane_lowres@pipe-a-tiling-y:
- shard-iclb: [FAIL][51] ([fdo#103166]) -> [PASS][52]
[51]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6952/shard-iclb4/igt@kms_plane_lowres@pipe-a-tiling-y.html
[52]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3497/shard-iclb5/igt@kms_plane_lowres@pipe-a-tiling-y.html
* igt@kms_psr@psr2_cursor_plane_onoff:
- shard-iclb: [SKIP][53] ([fdo#109441]) -> [PASS][54] +2 similar issues
[53]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6952/shard-iclb5/igt@kms_psr@psr2_cursor_plane_onoff.html
[54]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3497/shard-iclb2/igt@kms_psr@psr2_cursor_plane_onoff.html
* igt@kms_setmode@basic:
- shard-apl: [FAIL][55] ([fdo#99912]) -> [PASS][56]
[55]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6952/shard-apl7/igt@kms_setmode@basic.html
[56]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3497/shard-apl8/igt@kms_setmode@basic.html
#### Warnings ####
* igt@gem_ctx_isolation@vcs1-nonpriv:
- shard-iclb: [FAIL][57] ([fdo#111329]) -> [SKIP][58] ([fdo#109276])
[57]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6952/shard-iclb2/igt@gem_ctx_isolation@vcs1-nonpriv.html
[58]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3497/shard-iclb7/igt@gem_ctx_isolation@vcs1-nonpriv.html
* igt@gem_mocs_settings@mocs-isolation-bsd2:
- shard-iclb: [SKIP][59] ([fdo#109276]) -> [FAIL][60] ([fdo#111330])
[59]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6952/shard-iclb6/igt@gem_mocs_settings@mocs-isolation-bsd2.html
[60]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3497/shard-iclb4/igt@gem_mocs_settings@mocs-isolation-bsd2.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[fdo#103166]: https://bugs.freedesktop.org/show_bug.cgi?id=103166
[fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
[fdo#103232]: https://bugs.freedesktop.org/show_bug.cgi?id=103232
[fdo#103355]: https://bugs.freedesktop.org/show_bug.cgi?id=103355
[fdo#103540]: https://bugs.freedesktop.org/show_bug.cgi?id=103540
[fdo#103927]: https://bugs.freedesktop.org/show_bug.cgi?id=103927
[fdo#106978]: https://bugs.freedesktop.org/show_bug.cgi?id=106978
[fdo#107713]: https://bugs.freedesktop.org/show_bug.cgi?id=107713
[fdo#108566]: https://bugs.freedesktop.org/show_bug.cgi?id=108566
[fdo#108686]: https://bugs.freedesktop.org/show_bug.cgi?id=108686
[fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
[fdo#109276]: https://bugs.freedesktop.org/show_bug.cgi?id=109276
[fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441
[fdo#110548]: https://bugs.freedesktop.org/show_bug.cgi?id=110548
[fdo#111325]: https://bugs.freedesktop.org/show_bug.cgi?id=111325
[fdo#111329]: https://bugs.freedesktop.org/show_bug.cgi?id=111329
[fdo#111330]: https://bugs.freedesktop.org/show_bug.cgi?id=111330
[fdo#99912]: https://bugs.freedesktop.org/show_bug.cgi?id=99912
Participating hosts (9 -> 6)
------------------------------
Missing (3): pig-skl-6260u shard-skl pig-hsw-4770r
Build changes
-------------
* CI: CI-20190529 -> None
* IGT: IGT_5202 -> IGTPW_3497
* Piglit: piglit_4509 -> None
CI-20190529: 20190529
CI_DRM_6952: ec3b5d92c87e554e407f308b4183f21d59c4a13d @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_3497: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3497/
IGT_5202: 3499c5eb17054e2abd88023fe962768140d24302 @ 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_3497/
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 16+ messages in thread
* [igt-dev] ✗ Fi.CI.IGT: failure for i915/perf_pmu: Compare semaphore and busy measurements (rev2)
2019-09-24 22:01 ` [igt-dev] " Chris Wilson
` (7 preceding siblings ...)
(?)
@ 2019-09-26 0:13 ` Patchwork
2019-09-26 8:20 ` Tvrtko Ursulin
-1 siblings, 1 reply; 16+ messages in thread
From: Patchwork @ 2019-09-26 0:13 UTC (permalink / raw)
To: Chris Wilson; +Cc: igt-dev
== Series Details ==
Series: i915/perf_pmu: Compare semaphore and busy measurements (rev2)
URL : https://patchwork.freedesktop.org/series/67183/
State : failure
== Summary ==
CI Bug Log - changes from CI_DRM_6954_full -> IGTPW_3498_full
====================================================
Summary
-------
**FAILURE**
Serious unknown changes coming with IGTPW_3498_full absolutely need to be
verified manually.
If you think the reported changes have nothing to do with the changes
introduced in IGTPW_3498_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://patchwork.freedesktop.org/api/1.0/series/67183/revisions/2/mbox/
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in IGTPW_3498_full:
### IGT changes ###
#### Possible regressions ####
* igt@i915_pm_sseu@full-enable:
- shard-glk: [PASS][1] -> [FAIL][2]
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6954/shard-glk1/igt@i915_pm_sseu@full-enable.html
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3498/shard-glk5/igt@i915_pm_sseu@full-enable.html
New tests
---------
New tests have been introduced between CI_DRM_6954_full and IGTPW_3498_full:
### New IGT tests (6) ###
* igt@perf_pmu@semaphore-busy-bcs0:
- Statuses : 4 pass(s) 2 skip(s)
- Exec time: [0.0, 6.18] s
* igt@perf_pmu@semaphore-busy-rcs0:
- Statuses : 4 pass(s) 2 skip(s)
- Exec time: [0.0, 6.21] s
* igt@perf_pmu@semaphore-busy-vcs0:
- Statuses : 4 pass(s) 2 skip(s)
- Exec time: [0.0, 6.17] s
* igt@perf_pmu@semaphore-busy-vcs1:
- Statuses : 2 pass(s)
- Exec time: [6.16, 6.18] s
* igt@perf_pmu@semaphore-busy-vcs2:
- Statuses :
- Exec time: [None] s
* igt@perf_pmu@semaphore-busy-vecs0:
- Statuses : 4 pass(s) 1 skip(s)
- Exec time: [0.0, 6.19] s
Known issues
------------
Here are the changes found in IGTPW_3498_full that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@gem_exec_schedule@independent-bsd1:
- shard-iclb: [PASS][3] -> [SKIP][4] ([fdo#109276]) +20 similar issues
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6954/shard-iclb1/igt@gem_exec_schedule@independent-bsd1.html
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3498/shard-iclb8/igt@gem_exec_schedule@independent-bsd1.html
* igt@gem_exec_schedule@preempt-other-chain-bsd:
- shard-iclb: [PASS][5] -> [SKIP][6] ([fdo#111325]) +5 similar issues
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6954/shard-iclb5/igt@gem_exec_schedule@preempt-other-chain-bsd.html
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3498/shard-iclb4/igt@gem_exec_schedule@preempt-other-chain-bsd.html
* igt@i915_pm_rpm@modeset-stress-extra-wait:
- shard-glk: [PASS][7] -> [DMESG-WARN][8] ([fdo#105763] / [fdo#106538])
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6954/shard-glk2/igt@i915_pm_rpm@modeset-stress-extra-wait.html
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3498/shard-glk8/igt@i915_pm_rpm@modeset-stress-extra-wait.html
* igt@i915_suspend@debugfs-reader:
- shard-apl: [PASS][9] -> [DMESG-WARN][10] ([fdo#108566])
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6954/shard-apl5/igt@i915_suspend@debugfs-reader.html
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3498/shard-apl1/igt@i915_suspend@debugfs-reader.html
* igt@kms_atomic_transition@1x-modeset-transitions-nonblocking-fencing:
- shard-snb: [PASS][11] -> [SKIP][12] ([fdo#109271])
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6954/shard-snb6/igt@kms_atomic_transition@1x-modeset-transitions-nonblocking-fencing.html
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3498/shard-snb7/igt@kms_atomic_transition@1x-modeset-transitions-nonblocking-fencing.html
* igt@kms_cursor_legacy@2x-long-cursor-vs-flip-legacy:
- shard-hsw: [PASS][13] -> [FAIL][14] ([fdo#105767]) +1 similar issue
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6954/shard-hsw8/igt@kms_cursor_legacy@2x-long-cursor-vs-flip-legacy.html
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3498/shard-hsw1/igt@kms_cursor_legacy@2x-long-cursor-vs-flip-legacy.html
* igt@kms_flip@flip-vs-expired-vblank-interruptible:
- shard-glk: [PASS][15] -> [FAIL][16] ([fdo#102887])
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6954/shard-glk5/igt@kms_flip@flip-vs-expired-vblank-interruptible.html
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3498/shard-glk5/igt@kms_flip@flip-vs-expired-vblank-interruptible.html
* igt@kms_frontbuffer_tracking@fbc-shrfb-scaledprimary:
- shard-apl: [PASS][17] -> [FAIL][18] ([fdo#103167])
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6954/shard-apl4/igt@kms_frontbuffer_tracking@fbc-shrfb-scaledprimary.html
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3498/shard-apl5/igt@kms_frontbuffer_tracking@fbc-shrfb-scaledprimary.html
- shard-kbl: [PASS][19] -> [FAIL][20] ([fdo#103167])
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6954/shard-kbl4/igt@kms_frontbuffer_tracking@fbc-shrfb-scaledprimary.html
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3498/shard-kbl2/igt@kms_frontbuffer_tracking@fbc-shrfb-scaledprimary.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-indfb-draw-blt:
- shard-iclb: [PASS][21] -> [FAIL][22] ([fdo#103167]) +3 similar issues
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6954/shard-iclb3/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-indfb-draw-blt.html
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3498/shard-iclb8/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-indfb-draw-blt.html
* igt@kms_plane@plane-position-covered-pipe-b-planes:
- shard-glk: [PASS][23] -> [FAIL][24] ([fdo#110038])
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6954/shard-glk8/igt@kms_plane@plane-position-covered-pipe-b-planes.html
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3498/shard-glk4/igt@kms_plane@plane-position-covered-pipe-b-planes.html
- shard-kbl: [PASS][25] -> [FAIL][26] ([fdo#110038])
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6954/shard-kbl7/igt@kms_plane@plane-position-covered-pipe-b-planes.html
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3498/shard-kbl2/igt@kms_plane@plane-position-covered-pipe-b-planes.html
- shard-apl: [PASS][27] -> [FAIL][28] ([fdo#110038])
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6954/shard-apl5/igt@kms_plane@plane-position-covered-pipe-b-planes.html
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3498/shard-apl7/igt@kms_plane@plane-position-covered-pipe-b-planes.html
* igt@kms_psr@psr2_cursor_render:
- shard-iclb: [PASS][29] -> [SKIP][30] ([fdo#109441]) +1 similar issue
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6954/shard-iclb2/igt@kms_psr@psr2_cursor_render.html
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3498/shard-iclb8/igt@kms_psr@psr2_cursor_render.html
#### Possible fixes ####
* igt@gem_ctx_shared@exec-single-timeline-bsd:
- shard-iclb: [SKIP][31] ([fdo#110841]) -> [PASS][32]
[31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6954/shard-iclb1/igt@gem_ctx_shared@exec-single-timeline-bsd.html
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3498/shard-iclb5/igt@gem_ctx_shared@exec-single-timeline-bsd.html
* igt@gem_exec_balancer@smoke:
- shard-iclb: [SKIP][33] ([fdo#110854]) -> [PASS][34]
[33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6954/shard-iclb7/igt@gem_exec_balancer@smoke.html
[34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3498/shard-iclb2/igt@gem_exec_balancer@smoke.html
* igt@gem_exec_schedule@preempt-bsd:
- shard-iclb: [SKIP][35] ([fdo#111325]) -> [PASS][36] +2 similar issues
[35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6954/shard-iclb2/igt@gem_exec_schedule@preempt-bsd.html
[36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3498/shard-iclb3/igt@gem_exec_schedule@preempt-bsd.html
* igt@kms_cursor_edge_walk@pipe-c-256x256-top-edge:
- shard-apl: [TIMEOUT][37] ([fdo#111800]) -> [PASS][38]
[37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6954/shard-apl7/igt@kms_cursor_edge_walk@pipe-c-256x256-top-edge.html
[38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3498/shard-apl8/igt@kms_cursor_edge_walk@pipe-c-256x256-top-edge.html
* igt@kms_flip@2x-flip-vs-expired-vblank-interruptible:
- shard-glk: [FAIL][39] ([fdo#105363]) -> [PASS][40]
[39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6954/shard-glk1/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible.html
[40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3498/shard-glk4/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible.html
* igt@kms_frontbuffer_tracking@fbc-badstride:
- shard-iclb: [FAIL][41] ([fdo#103167]) -> [PASS][42] +3 similar issues
[41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6954/shard-iclb5/igt@kms_frontbuffer_tracking@fbc-badstride.html
[42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3498/shard-iclb7/igt@kms_frontbuffer_tracking@fbc-badstride.html
* igt@kms_psr@psr2_primary_mmap_cpu:
- shard-iclb: [SKIP][43] ([fdo#109441]) -> [PASS][44] +2 similar issues
[43]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6954/shard-iclb6/igt@kms_psr@psr2_primary_mmap_cpu.html
[44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3498/shard-iclb2/igt@kms_psr@psr2_primary_mmap_cpu.html
* igt@kms_setmode@basic:
- shard-apl: [FAIL][45] ([fdo#99912]) -> [PASS][46]
[45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6954/shard-apl3/igt@kms_setmode@basic.html
[46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3498/shard-apl8/igt@kms_setmode@basic.html
* igt@kms_vblank@pipe-c-ts-continuation-suspend:
- shard-apl: [DMESG-WARN][47] ([fdo#108566]) -> [PASS][48] +5 similar issues
[47]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6954/shard-apl4/igt@kms_vblank@pipe-c-ts-continuation-suspend.html
[48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3498/shard-apl7/igt@kms_vblank@pipe-c-ts-continuation-suspend.html
* igt@perf_pmu@cpu-hotplug:
- shard-apl: [TIMEOUT][49] ([fdo#111546] / [fdo#111800]) -> [PASS][50]
[49]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6954/shard-apl7/igt@perf_pmu@cpu-hotplug.html
[50]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3498/shard-apl6/igt@perf_pmu@cpu-hotplug.html
* igt@prime_vgem@fence-wait-bsd2:
- shard-iclb: [SKIP][51] ([fdo#109276]) -> [PASS][52] +14 similar issues
[51]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6954/shard-iclb5/igt@prime_vgem@fence-wait-bsd2.html
[52]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3498/shard-iclb4/igt@prime_vgem@fence-wait-bsd2.html
#### Warnings ####
* igt@gem_mocs_settings@mocs-isolation-bsd2:
- shard-iclb: [FAIL][53] ([fdo#111330]) -> [SKIP][54] ([fdo#109276])
[53]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6954/shard-iclb4/igt@gem_mocs_settings@mocs-isolation-bsd2.html
[54]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3498/shard-iclb7/igt@gem_mocs_settings@mocs-isolation-bsd2.html
[fdo#102887]: https://bugs.freedesktop.org/show_bug.cgi?id=102887
[fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
[fdo#105363]: https://bugs.freedesktop.org/show_bug.cgi?id=105363
[fdo#105763]: https://bugs.freedesktop.org/show_bug.cgi?id=105763
[fdo#105767]: https://bugs.freedesktop.org/show_bug.cgi?id=105767
[fdo#106538]: https://bugs.freedesktop.org/show_bug.cgi?id=106538
[fdo#108566]: https://bugs.freedesktop.org/show_bug.cgi?id=108566
[fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
[fdo#109276]: https://bugs.freedesktop.org/show_bug.cgi?id=109276
[fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441
[fdo#110038]: https://bugs.freedesktop.org/show_bug.cgi?id=110038
[fdo#110841]: https://bugs.freedesktop.org/show_bug.cgi?id=110841
[fdo#110854]: https://bugs.freedesktop.org/show_bug.cgi?id=110854
[fdo#111325]: https://bugs.freedesktop.org/show_bug.cgi?id=111325
[fdo#111330]: https://bugs.freedesktop.org/show_bug.cgi?id=111330
[fdo#111546]: https://bugs.freedesktop.org/show_bug.cgi?id=111546
[fdo#111800]: https://bugs.freedesktop.org/show_bug.cgi?id=111800
[fdo#99912]: https://bugs.freedesktop.org/show_bug.cgi?id=99912
Participating hosts (9 -> 6)
------------------------------
Missing (3): pig-skl-6260u shard-skl pig-hsw-4770r
Build changes
-------------
* CI: CI-20190529 -> None
* IGT: IGT_5202 -> IGTPW_3498
* Piglit: piglit_4509 -> None
CI-20190529: 20190529
CI_DRM_6954: 80fa0e042cdb3da59d2c738db61b8da78cf29e0d @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_3498: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3498/
IGT_5202: 3499c5eb17054e2abd88023fe962768140d24302 @ 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_3498/
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [igt-dev] ✗ Fi.CI.IGT: failure for i915/perf_pmu: Compare semaphore and busy measurements (rev2)
2019-09-26 0:13 ` [igt-dev] ✗ Fi.CI.IGT: failure for i915/perf_pmu: Compare semaphore and busy measurements (rev2) Patchwork
@ 2019-09-26 8:20 ` Tvrtko Ursulin
2019-09-30 9:39 ` Petri Latvala
0 siblings, 1 reply; 16+ messages in thread
From: Tvrtko Ursulin @ 2019-09-26 8:20 UTC (permalink / raw)
To: igt-dev, Patchwork, Chris Wilson, intel-gfx-ci
On 26/09/2019 01:13, Patchwork wrote:
> == Series Details ==
>
> Series: i915/perf_pmu: Compare semaphore and busy measurements (rev2)
> URL : https://patchwork.freedesktop.org/series/67183/
> State : failure
>
> == Summary ==
>
> CI Bug Log - changes from CI_DRM_6954_full -> IGTPW_3498_full
> ====================================================
>
> Summary
> -------
>
> **FAILURE**
>
> Serious unknown changes coming with IGTPW_3498_full absolutely need to be
> verified manually.
>
> If you think the reported changes have nothing to do with the changes
> introduced in IGTPW_3498_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://patchwork.freedesktop.org/api/1.0/series/67183/revisions/2/mbox/
>
> Possible new issues
> -------------------
>
> Here are the unknown changes that may have been introduced in IGTPW_3498_full:
>
> ### IGT changes ###
>
> #### Possible regressions ####
>
> * igt@i915_pm_sseu@full-enable:
> - shard-glk: [PASS][1] -> [FAIL][2]
> [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6954/shard-glk1/igt@i915_pm_sseu@full-enable.html
> [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3498/shard-glk5/igt@i915_pm_sseu@full-enable.html
>
>
> New tests
> ---------
>
> New tests have been introduced between CI_DRM_6954_full and IGTPW_3498_full:
>
> ### New IGT tests (6) ###
>
> * igt@perf_pmu@semaphore-busy-bcs0:
> - Statuses : 4 pass(s) 2 skip(s)
> - Exec time: [0.0, 6.18] s
>
> * igt@perf_pmu@semaphore-busy-rcs0:
> - Statuses : 4 pass(s) 2 skip(s)
> - Exec time: [0.0, 6.21] s
>
> * igt@perf_pmu@semaphore-busy-vcs0:
> - Statuses : 4 pass(s) 2 skip(s)
> - Exec time: [0.0, 6.17] s
>
> * igt@perf_pmu@semaphore-busy-vcs1:
> - Statuses : 2 pass(s)
> - Exec time: [6.16, 6.18] s
>
> * igt@perf_pmu@semaphore-busy-vcs2:
> - Statuses :
> - Exec time: [None] s
Is this odd?
Also..
[snip]
>
> == Logs ==
>
> For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3498/
... I don't see the new tests in HTML?
Regards,
Tvrtko
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [igt-dev] ✗ Fi.CI.IGT: failure for i915/perf_pmu: Compare semaphore and busy measurements (rev2)
2019-09-26 8:20 ` Tvrtko Ursulin
@ 2019-09-30 9:39 ` Petri Latvala
0 siblings, 0 replies; 16+ messages in thread
From: Petri Latvala @ 2019-09-30 9:39 UTC (permalink / raw)
To: Tvrtko Ursulin; +Cc: igt-dev
On Thu, Sep 26, 2019 at 09:20:23AM +0100, Tvrtko Ursulin wrote:
>
> On 26/09/2019 01:13, Patchwork wrote:
> > == Series Details ==
> >
> > Series: i915/perf_pmu: Compare semaphore and busy measurements (rev2)
> > URL : https://patchwork.freedesktop.org/series/67183/
> > State : failure
> >
> > == Summary ==
> >
> > CI Bug Log - changes from CI_DRM_6954_full -> IGTPW_3498_full
> > ====================================================
> >
> > Summary
> > -------
> >
> > **FAILURE**
> >
> > Serious unknown changes coming with IGTPW_3498_full absolutely need to be
> > verified manually.
> > If you think the reported changes have nothing to do with the changes
> > introduced in IGTPW_3498_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://patchwork.freedesktop.org/api/1.0/series/67183/revisions/2/mbox/
> >
> > Possible new issues
> > -------------------
> >
> > Here are the unknown changes that may have been introduced in IGTPW_3498_full:
> >
> > ### IGT changes ###
> >
> > #### Possible regressions ####
> >
> > * igt@i915_pm_sseu@full-enable:
> > - shard-glk: [PASS][1] -> [FAIL][2]
> > [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6954/shard-glk1/igt@i915_pm_sseu@full-enable.html
> > [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3498/shard-glk5/igt@i915_pm_sseu@full-enable.html
> >
> > New tests
> > ---------
> >
> > New tests have been introduced between CI_DRM_6954_full and IGTPW_3498_full:
> >
> > ### New IGT tests (6) ###
> >
> > * igt@perf_pmu@semaphore-busy-bcs0:
> > - Statuses : 4 pass(s) 2 skip(s)
> > - Exec time: [0.0, 6.18] s
> >
> > * igt@perf_pmu@semaphore-busy-rcs0:
> > - Statuses : 4 pass(s) 2 skip(s)
> > - Exec time: [0.0, 6.21] s
> >
> > * igt@perf_pmu@semaphore-busy-vcs0:
> > - Statuses : 4 pass(s) 2 skip(s)
> > - Exec time: [0.0, 6.17] s
> >
> > * igt@perf_pmu@semaphore-busy-vcs1:
> > - Statuses : 2 pass(s)
> > - Exec time: [6.16, 6.18] s
> >
> > * igt@perf_pmu@semaphore-busy-vcs2:
> > - Statuses :
> > - Exec time: [None] s
>
> Is this odd?
No such test semaphore-busy-vcs2. It exists only when you
--list-subtests, when executing IGT now uses engine discovery and
doesn't really have that subtest.
>
> Also..
>
> [snip]
>
> >
> > == Logs ==
> >
> > For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3498/
>
> ... I don't see the new tests in HTML?
https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3498/shards-all.html?testfilter=perf_pmu@semaphore-busy
You have to select "shards all" from the view menu up top, the default
view is "issues only".
--
Petri Latvala
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 16+ messages in thread
end of thread, other threads:[~2019-09-30 9:39 UTC | newest]
Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-09-24 22:01 [PATCH i-g-t] i915/perf_pmu: Compare semaphore and busy measurements Chris Wilson
2019-09-24 22:01 ` [igt-dev] " Chris Wilson
2019-09-24 22:27 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork
2019-09-24 22:31 ` [igt-dev] ✗ GitLab.Pipeline: warning " Patchwork
2019-09-25 8:36 ` [PATCH i-g-t] " Tvrtko Ursulin
2019-09-25 8:36 ` [igt-dev] [Intel-gfx] " Tvrtko Ursulin
2019-09-25 9:23 ` [PATCH i-g-t v2] " Chris Wilson
2019-09-25 9:23 ` [igt-dev] " Chris Wilson
2019-09-25 9:27 ` Tvrtko Ursulin
2019-09-25 9:27 ` [Intel-gfx] " Tvrtko Ursulin
2019-09-25 9:51 ` [igt-dev] ✗ GitLab.Pipeline: warning for i915/perf_pmu: Compare semaphore and busy measurements (rev2) Patchwork
2019-09-25 9:58 ` [igt-dev] ✓ Fi.CI.BAT: success " Patchwork
2019-09-25 17:06 ` [igt-dev] ✓ Fi.CI.IGT: success for i915/perf_pmu: Compare semaphore and busy measurements Patchwork
2019-09-26 0:13 ` [igt-dev] ✗ Fi.CI.IGT: failure for i915/perf_pmu: Compare semaphore and busy measurements (rev2) Patchwork
2019-09-26 8:20 ` Tvrtko Ursulin
2019-09-30 9:39 ` Petri Latvala
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.