[PATCH] drm/sched: Document purpose of drm_sched_{start,stop}

Philipp Stanner pstanner at redhat.com
Thu Oct 31 12:00:19 UTC 2024


On Tue, 2024-10-29 at 09:47 -0400, Alex Deucher wrote:
> On Tue, Oct 29, 2024 at 9:39 AM Philipp Stanner <pstanner at redhat.com>
> wrote:
> > 
> > drm_sched_start()'s and drm_sched_stop()'s names suggest that those
> > functions might be intended for actively starting and stopping the
> > scheduler on initialization and teardown.
> > 
> > They are, however, only used on timeout handling (reset recovery).
> > The
> > docstrings should reflect that to prevent confusion.
> > 
> > Document those functions' purpose.
> > 
> > Signed-off-by: Philipp Stanner <pstanner at redhat.com>
> 
> Reviewed-by: Alex Deucher <alexander.deucher at amd.com>

Thanks.

Applied to drm-misc-next.

P.

> 
> > ---
> >  drivers/gpu/drm/scheduler/sched_main.c | 8 +++++++-
> >  1 file changed, 7 insertions(+), 1 deletion(-)
> > 
> > diff --git a/drivers/gpu/drm/scheduler/sched_main.c
> > b/drivers/gpu/drm/scheduler/sched_main.c
> > index eaef20f41786..59fd49fc790e 100644
> > --- a/drivers/gpu/drm/scheduler/sched_main.c
> > +++ b/drivers/gpu/drm/scheduler/sched_main.c
> > @@ -601,6 +601,9 @@ static void drm_sched_job_timedout(struct
> > work_struct *work)
> >   * callers responsibility to release it manually if it's not part
> > of the
> >   * pending list any more.
> >   *
> > + * This function is typically used for reset recovery (see the
> > docu of
> > + * drm_sched_backend_ops.timedout_job() for details). Do not call
> > it for
> > + * scheduler teardown, i.e., before calling drm_sched_fini().
> >   */
> >  void drm_sched_stop(struct drm_gpu_scheduler *sched, struct
> > drm_sched_job *bad)
> >  {
> > @@ -673,7 +676,6 @@ void drm_sched_stop(struct drm_gpu_scheduler
> > *sched, struct drm_sched_job *bad)
> >          */
> >         cancel_delayed_work(&sched->work_tdr);
> >  }
> > -
> >  EXPORT_SYMBOL(drm_sched_stop);
> > 
> >  /**
> > @@ -681,6 +683,10 @@ EXPORT_SYMBOL(drm_sched_stop);
> >   *
> >   * @sched: scheduler instance
> >   *
> > + * This function is typically used for reset recovery (see the
> > docu of
> > + * drm_sched_backend_ops.timedout_job() for details). Do not call
> > it for
> > + * scheduler startup. The scheduler itself is fully operational
> > after
> > + * drm_sched_init() succeeded.
> >   */
> >  void drm_sched_start(struct drm_gpu_scheduler *sched)
> >  {
> > --
> > 2.47.0
> > 
> 



More information about the dri-devel mailing list