[Intel-gfx] Context isolation

Chris Wilson chris at chris-wilson.co.uk
Thu Nov 2 12:42:20 UTC 2017


We know we had screwed up with legacy ringbuffer submission and contexts
not providing sufficient isolation and scrubbing of newly create
contexts (mostly due to the evolution from no contexts and everyone
cooperating). An early attempt to provide context-switch isolation
failed as we were corrupting the context across suspend/hibernate; as a
regression it had to be reverted and we expected the underlying problem
to be fixed first. That should now be fixed by commit 5ab57c702069
("drm/i915: Flush logical context image out to memory upon suspend")
Furthermore that patch did not address the issue raised most recently,
we were not scrubbing HW state for new contexts, to give each new user
context the same view of default HW state. We had presumed this was not
an issue for execlists either (which at least had proper isolation for
context switches) but were completely wrong.

In short, this series records the default HW state on load after a
reset, then uses that as the template image for all user contexts,
providing complete (insofar as HW support allows) isolation.

The one piece missing here is a param to indicate that we've moved pass
the screw up.
-Chris



More information about the Intel-gfx mailing list