]> git.baikalelectronics.ru Git - kernel.git/commit
drm/i915/gt: Defer schedule_out until after the next dequeue
authorChris Wilson <chris@chris-wilson.co.uk>
Thu, 24 Dec 2020 13:55:39 +0000 (13:55 +0000)
committerChris Wilson <chris@chris-wilson.co.uk>
Thu, 24 Dec 2020 15:02:38 +0000 (15:02 +0000)
commit5b34ddbb80d5522f6956f4fd05498c18d1925851
treefc1fa701cd163086aa70e155d5dab5f21292f8d5
parent92d28044d4acdaf35f38aea460f103b473bc3d04
drm/i915/gt: Defer schedule_out until after the next dequeue

Inside schedule_out, we do extra work upon idling the context, such as
updating the runtime, kicking off retires, kicking virtual engines.
However, if we are in a series of processing single requests per
contexts, we may find ourselves scheduling out the context, only to
immediately schedule it back in during dequeue. This is just extra work
that we can avoid if we keep the context marked as inflight across the
dequeue. This becomes more significant later on for minimising virtual
engine misses.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Matthew Auld <matthew.auld@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20201224135544.1713-4-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/gt/intel_context_types.h
drivers/gpu/drm/i915/gt/intel_execlists_submission.c