diff options
author | John Harrison <John.C.Harrison@Intel.com> | 2024-01-11 00:02:16 +0300 |
---|---|---|
committer | John Harrison <John.C.Harrison@Intel.com> | 2024-02-15 04:17:35 +0300 |
commit | eb927f01dfb6309c8a184593c2c0618c4000c481 (patch) | |
tree | 55f6a0b991925c65ea706879f04797e8a133c57d /drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.c | |
parent | b112364867499e1327801da200868a6c506465fa (diff) | |
download | linux-eb927f01dfb6309c8a184593c2c0618c4000c481.tar.xz |
drm/i915/gt: Restart the heartbeat timer when forcing a pulse
The context persistence code does things like send super high priority
heartbeat pulses to ensure any leaked context can still be pre-empted
and thus isn't a total denial of service but only a minor denial of
service. Unfortunately, it wasn't bothering to restart the heartbeat
worker with a fresh timeout. Thus, if a persistent context happened to
be closed just before the heartbeat was going to go ping anyway then
the forced pulse would get a negligble execution time. And as the
forced pulse is super high priority, the worker thread's next step is
a reset. Which means a potentially innocent system randomly goes boom
when attempting to close a context. So, force a re-schedule of the
worker thread with the appropriate timeout.
Signed-off-by: John Harrison <John.C.Harrison@Intel.com>
Reviewed-by: Andi Shyti <andi.shyti@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240110210216.4125092-1-John.C.Harrison@Intel.com
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.c')
0 files changed, 0 insertions, 0 deletions