]> git.baikalelectronics.ru Git - kernel.git/commit
drm/i915/gem: Refine occupancy test in kill_context()
authorChris Wilson <chris@chris-wilson.co.uk>
Thu, 31 Oct 2019 09:01:04 +0000 (09:01 +0000)
committerChris Wilson <chris@chris-wilson.co.uk>
Fri, 1 Nov 2019 09:44:48 +0000 (09:44 +0000)
commitee80fd16aa52af6bfdcac187623eda9db63ca575
treecc2788285ac7ab1053c9d8b55e5a25fa6e4e85f1
parent739f2a73e6566a3693bffb1ec00ea9ec6e882646
drm/i915/gem: Refine occupancy test in kill_context()

Don't just look at the very last request in a queue when deciding if we
need to evict the context from the GPU, as that request may still be in
the submission queue while the rest of the context is running!

Instead, walk back along the queued requests looking for the active
request and checking that.

Fixes: a16f09a47227 ("drm/i915/gem: Cancel contexts when hangchecking is disabled")
Testcase: igt/gem_ctx_persistence/queued
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>
Cc: Matthew Auld <matthew.auld@intel.com>
Reviewed-by: Matthew Auld <matthew.auld@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20191031090104.22245-1-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/gem/i915_gem_context.c