]> git.baikalelectronics.ru Git - kernel.git/commit
drm/i915: Flush tasklet submission before sleeping on i915_request_wait
authorChris Wilson <chris@chris-wilson.co.uk>
Tue, 15 Oct 2019 13:26:06 +0000 (14:26 +0100)
committerChris Wilson <chris@chris-wilson.co.uk>
Tue, 15 Oct 2019 15:42:47 +0000 (16:42 +0100)
commit17e3e0e226c2a7e8be71c5d968376395f34fca4f
tree66f60f1d50485b6a7aa14f0cbf44dc348d001052
parent3fc2c8af16a152c93c6cd21a5f97dcea3f396a6a
drm/i915: Flush tasklet submission before sleeping on i915_request_wait

If the system is being slow and userspace is racing ahead of the GPU and
finds itself waiting for the GPU to catch up, before the process sleeps
give the tasklet a kick, bypassing ksoftirqd. If the system is
overloaded, then ksoftirqd may be delayed incurring additional latency
to our user.

This should not be a frequent problem, but in the past we have observed
several hundred millisecond delays before ksoftirqd services an
interrupt, so burn a few cycles to lend a helping hand.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20191015132606.14349-1-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/i915_request.c