Skip to content

Commit 34f50cc

Browse files
mbrost05mlankhorst
authored andcommitted
drm/sched: Use drm sched lockdep map for submit_wq
Avoid leaking a lockdep map on each drm sched creation and destruction by using a single lockdep map for all drm sched allocated submit_wq. v2: - Use alloc_ordered_workqueue_lockdep_map (Tejun) Cc: Luben Tuikov <ltuikov89@gmail.com> Cc: Christian König <christian.koenig@amd.com> Signed-off-by: Matthew Brost <matthew.brost@intel.com> Reviewed-by: Nirmoy Das <nirmoy.das@intel.com> Acked-by: Danilo Krummrich <dakr@kernel.org> Link: https://patchwork.freedesktop.org/patch/msgid/20241002131639.3425022-2-matthew.brost@intel.com Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
1 parent f9e7ac6 commit 34f50cc

File tree

1 file changed

+11
-0
lines changed

1 file changed

+11
-0
lines changed

drivers/gpu/drm/scheduler/sched_main.c

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,12 @@
8787
#define CREATE_TRACE_POINTS
8888
#include "gpu_scheduler_trace.h"
8989

90+
#ifdef CONFIG_LOCKDEP
91+
static struct lockdep_map drm_sched_lockdep_map = {
92+
.name = "drm_sched_lockdep_map"
93+
};
94+
#endif
95+
9096
#define to_drm_sched_job(sched_job) \
9197
container_of((sched_job), struct drm_sched_job, queue_node)
9298

@@ -1269,7 +1275,12 @@ int drm_sched_init(struct drm_gpu_scheduler *sched,
12691275
sched->submit_wq = submit_wq;
12701276
sched->own_submit_wq = false;
12711277
} else {
1278+
#ifdef CONFIG_LOCKDEP
1279+
sched->submit_wq = alloc_ordered_workqueue_lockdep_map(name, 0,
1280+
&drm_sched_lockdep_map);
1281+
#else
12721282
sched->submit_wq = alloc_ordered_workqueue(name, 0);
1283+
#endif
12731284
if (!sched->submit_wq)
12741285
return -ENOMEM;
12751286

0 commit comments

Comments
 (0)