[igt-dev] [Intel-gfx] [PATCH i-g-t v7] tests/perf_pmu: Improve accuracy by waiting on spinner to start
Chris Wilson
chris at chris-wilson.co.uk
Mon Mar 19 15:29:21 UTC 2018
Quoting Tvrtko Ursulin (2018-03-19 13:56:05)
> @@ -443,15 +501,12 @@ most_busy_check_all(int gem_fd, const struct intel_execution_engine2 *e,
> if (!gem_has_engine(gem_fd, e_->class, e_->instance))
> continue;
>
> - if (e == e_) {
> + if (e == e_)
> idle_idx = i;
> - } else if (spin) {
> - __submit_spin_batch(gem_fd, &obj, e_);
> - } else {
> - spin = igt_spin_batch_new(gem_fd, 0,
> - e2ring(gem_fd, e_), 0);
> - obj.handle = spin->handle;
> - }
> + else if (spin)
> + __submit_spin_batch(gem_fd, spin, e_);
> + else
> + spin = __spin_poll(gem_fd, 0, e2ring(gem_fd, e_));
So this is what is killing snb. We resubmit the spin-batch, with its
MI_STORE_DWORD_IMM intact, onto each ring. Instant machine death for snb
when we reach vcs.
If we tweak the spinner to jump to a location 64bytes past the start, we
can opt out of the MI_STORE_DW when not required. Let me go an cook up a
delta.
-Chris
More information about the igt-dev
mailing list