OSDN Git Service

drm/i915/gt: Another tweak for flushing the tasklets
authorChris Wilson <chris@chris-wilson.co.uk>
Sun, 20 Dec 2020 13:48:58 +0000 (13:48 +0000)
committerChris Wilson <chris@chris-wilson.co.uk>
Sun, 20 Dec 2020 18:15:17 +0000 (18:15 +0000)
commit5ec17c763055767e4b1490da8399a6c4a53d7e8c
treee30a9fed1a1e6974ce3b1b6d6f490b7594e76c2d
parent9bb36cf66091ddf2d8840e5aa705ad3c93a6279b
drm/i915/gt: Another tweak for flushing the tasklets

tasklet_kill() ensures that we _yield_ the processor until a remote
tasklet is completed. However, this leads to a starvation condition as
being at the bottom of the scheduler's runqueue means that anything else
is able to run, including all hogs keeping the tasklet occupied.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20201220134858.10510-1-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/gt/intel_engine.h
drivers/gpu/drm/i915/gt/intel_engine_cs.c
drivers/gpu/drm/i915/i915_request.c