Am 07.12.18 um 20:16 schrieb Eric Anholt: > The entity->dependency can go away completely once we've called > drm_sched_entity_add_dependency_cb() (if the cb is called before we > get around to tracing). The tracepoint is more useful if we trace > every dependency instead of just ones that get callbacks installed, > anyway, so just do that. > > Fixes any easy-to-produce OOPS when tracing the scheduler on V3D with > "perf record -a -e gpu_scheduler:.\* glxgears" and DEBUG_SLAB enabled. > > Signed-off-by: Eric Anholt <eric@xxxxxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> Going to pick that up for upstream and will add with a CC: stable. Thanks, Christian. > --- > drivers/gpu/drm/scheduler/sched_entity.c | 7 ++----- > 1 file changed, 2 insertions(+), 5 deletions(-) > > diff --git a/drivers/gpu/drm/scheduler/sched_entity.c b/drivers/gpu/drm/scheduler/sched_entity.c > index 4463d3826ecb..e2942c9a11a7 100644 > --- a/drivers/gpu/drm/scheduler/sched_entity.c > +++ b/drivers/gpu/drm/scheduler/sched_entity.c > @@ -440,13 +440,10 @@ struct drm_sched_job *drm_sched_entity_pop_job(struct drm_sched_entity *entity) > > while ((entity->dependency = > sched->ops->dependency(sched_job, entity))) { > + trace_drm_sched_job_wait_dep(sched_job, entity->dependency); > > - if (drm_sched_entity_add_dependency_cb(entity)) { > - > - trace_drm_sched_job_wait_dep(sched_job, > - entity->dependency); > + if (drm_sched_entity_add_dependency_cb(entity)) > return NULL; > - } > } > > /* skip jobs from entity that marked guilty */ _______________________________________________ amd-gfx mailing list amd-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/amd-gfx