aboutsummaryrefslogtreecommitdiffstats
path: root/tools/perf/scripts/python/bin/stackcollapse-record
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2020-03-27 20:14:33 +0000
committerChris Wilson <chris@chris-wilson.co.uk>2020-03-27 20:53:26 +0000
commit35f3fd8182ba26e766f7b814e903acf19d01bbb5 (patch)
tree827e6a6246590fcb3672816995ec707d3e292017 /tools/perf/scripts/python/bin/stackcollapse-record
parentdrm/i915: Include port sync state in the state dump (diff)
downloadlinux-35f3fd8182ba26e766f7b814e903acf19d01bbb5.tar.gz
linux-35f3fd8182ba26e766f7b814e903acf19d01bbb5.zip
drm/i915/execlists: Workaround switching back to a completed context
In what seems remarkably similar to the w/a required to not reload an idle context with HEAD==TAIL, it appears we must prevent the HW from switching to an idle context in ELSP[1], while simultaneously trying to preempt the HW to run another context and a continuation of the idle context (which is no longer idle). We can achieve this by preventing the context from completing while we reload a new ELSP (by applying ring_set_paused(1) across the whole of dequeue), except this eventually fails due to a lite-restore into a waiting semaphore does not generate an ACK. Instead, we try to avoid making the GPU do anything too challenging and not submit a new ELSP while the interrupts + CSB events appear to have fallen behind the completed contexts. We expect it to catch up shortly so we queue another tasklet execution and hope for the best. Closes: https://gitlab.freedesktop.org/drm/intel/issues/1501 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com> Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20200327201433.21864-1-chris@chris-wilson.co.uk
Diffstat (limited to 'tools/perf/scripts/python/bin/stackcollapse-record')
0 files changed, 0 insertions, 0 deletions