]> git.baikalelectronics.ru Git - kernel.git/commit
drm/scheduler: Don't kill jobs in interrupt context
authorDmitry Osipenko <dmitry.osipenko@collabora.com>
Mon, 11 Apr 2022 22:15:36 +0000 (01:15 +0300)
committerAndrey Grodzovsky <andrey.grodzovsky@amd.com>
Fri, 15 Jul 2022 14:09:15 +0000 (10:09 -0400)
commitbabdbae3592ba69c1a1ea79c7cec58bccd9e6cae
treef45ce0b2dd07c2da0efa6f018b747f1d384717cf
parenteb2a3c8fbc9af4939ce089f8791c77c3fe75bd41
drm/scheduler: Don't kill jobs in interrupt context

Interrupt context can't sleep. Drivers like Panfrost and MSM are taking
mutex when job is released, and thus, that code can sleep. This results
into "BUG: scheduling while atomic" if locks are contented while job is
freed. There is no good reason for releasing scheduler's jobs in IRQ
context, hence use normal context to fix the trouble.

Cc: stable@vger.kernel.org
Fixes: b27a623b5e36 ("drm/sched: Avoid lockdep spalt on killing a processes")
Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com>
Signed-off-by: Andrey Grodzovsky <andrey.grodzovsky@amd.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220411221536.283312-1-dmitry.osipenko@collabora.com
drivers/gpu/drm/scheduler/sched_entity.c
include/drm/gpu_scheduler.h