]> 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>
Tue, 17 May 2022 14:06:41 +0000 (10:06 -0400)
commitfc1ab65f81dbbd35a2a3582b2e9ea08170236198
tree4b042ed63c8d576a0097a602316a91b4dd9e94bf
parent5b23fb7fb120ede4b5c2277f4f75bcce4aad9002
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