]> git.baikalelectronics.ru Git - kernel.git/commit
drm/i915/gt: Only drop heartbeat.systole if the sole owner
authorChris Wilson <chris@chris-wilson.co.uk>
Wed, 6 Nov 2019 13:31:29 +0000 (13:31 +0000)
committerJoonas Lahtinen <joonas.lahtinen@linux.intel.com>
Mon, 11 Nov 2019 08:29:47 +0000 (10:29 +0200)
commit0bc229de51eff25b0f82d9cf3d34e7aa5d164718
tree7c789d7dae83dc43dbe62c4d14bbeda5e344bc7c
parente5333eb0ee65087657efefa6ea94bf93be913a5d
drm/i915/gt: Only drop heartbeat.systole if the sole owner

Mika spotted that only using cancel_delayed_work() could mean that we
attempted to clear the heartbeat.systole while the worker was still
running. Rectify the situation by only touching the systole from outside
the worker if we suceeded in cancelling the worker before it could run.
The worker is expected to clean up by itself upon idling.

Reported-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Fixes: 174a8144861d ("drm/i915/gt: Replace hangcheck by heartbeats")
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20191106133129.17732-1-chris@chris-wilson.co.uk
(cherry picked from commit 841e86728615baa77b0ea9d8b357e66052c75fe5)
Signed-off-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
drivers/gpu/drm/i915/gt/intel_engine_heartbeat.c