Message ID | 20210805104705.862416-16-daniel.vetter@ffwll.ch (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm/sched dependency handling and implicit sync fixes | expand |
Am 05.08.21 um 12:47 schrieb Daniel Vetter: > You really need to hold the reservation here or all kinds of funny > things can happen between grabbing the dependencies and inserting the > new fences. > > Acked-by: Melissa Wen <mwen@igalia.com> > Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> > Cc: "Christian König" <christian.koenig@amd.com> > Cc: Daniel Vetter <daniel.vetter@ffwll.ch> > Cc: Luben Tuikov <luben.tuikov@amd.com> > Cc: Andrey Grodzovsky <andrey.grodzovsky@amd.com> > Cc: Alex Deucher <alexander.deucher@amd.com> The function name in the subject line should be updated, apart from that feel free to add my rb to this patch. Christian. > --- > drivers/gpu/drm/scheduler/sched_main.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/gpu/drm/scheduler/sched_main.c b/drivers/gpu/drm/scheduler/sched_main.c > index 49e507f91ec0..1abb40b07324 100644 > --- a/drivers/gpu/drm/scheduler/sched_main.c > +++ b/drivers/gpu/drm/scheduler/sched_main.c > @@ -715,6 +715,8 @@ int drm_sched_job_add_implicit_dependencies(struct drm_sched_job *job, > struct dma_fence **fences; > unsigned int i, fence_count; > > + dma_resv_assert_held(obj->resv); > + > if (!write) { > struct dma_fence *fence = dma_resv_get_excl_unlocked(obj->resv); >
On Thu, Aug 5, 2021 at 3:19 PM Christian König <christian.koenig@amd.com> wrote: > > Am 05.08.21 um 12:47 schrieb Daniel Vetter: > > You really need to hold the reservation here or all kinds of funny > > things can happen between grabbing the dependencies and inserting the > > new fences. > > > > Acked-by: Melissa Wen <mwen@igalia.com> > > Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> > > Cc: "Christian König" <christian.koenig@amd.com> > > Cc: Daniel Vetter <daniel.vetter@ffwll.ch> > > Cc: Luben Tuikov <luben.tuikov@amd.com> > > Cc: Andrey Grodzovsky <andrey.grodzovsky@amd.com> > > Cc: Alex Deucher <alexander.deucher@amd.com> > > The function name in the subject line should be updated, apart from that > feel free to add my rb to this patch. Fixed locally and r-b added, I think the later parts of this series will need to be resent anyway. Thanks for your review. -Daniel > > Christian. > > > --- > > drivers/gpu/drm/scheduler/sched_main.c | 2 ++ > > 1 file changed, 2 insertions(+) > > > > diff --git a/drivers/gpu/drm/scheduler/sched_main.c b/drivers/gpu/drm/scheduler/sched_main.c > > index 49e507f91ec0..1abb40b07324 100644 > > --- a/drivers/gpu/drm/scheduler/sched_main.c > > +++ b/drivers/gpu/drm/scheduler/sched_main.c > > @@ -715,6 +715,8 @@ int drm_sched_job_add_implicit_dependencies(struct drm_sched_job *job, > > struct dma_fence **fences; > > unsigned int i, fence_count; > > > > + dma_resv_assert_held(obj->resv); > > + > > if (!write) { > > struct dma_fence *fence = dma_resv_get_excl_unlocked(obj->resv); > > >
diff --git a/drivers/gpu/drm/scheduler/sched_main.c b/drivers/gpu/drm/scheduler/sched_main.c index 49e507f91ec0..1abb40b07324 100644 --- a/drivers/gpu/drm/scheduler/sched_main.c +++ b/drivers/gpu/drm/scheduler/sched_main.c @@ -715,6 +715,8 @@ int drm_sched_job_add_implicit_dependencies(struct drm_sched_job *job, struct dma_fence **fences; unsigned int i, fence_count; + dma_resv_assert_held(obj->resv); + if (!write) { struct dma_fence *fence = dma_resv_get_excl_unlocked(obj->resv);