Re: [PATCH v7 1/3] drm/sched: Adjust outdated docu for run_job()

Philipp Stanner
2025-03-05T14:24:42Z

On Wed, 2025-03-05 at 20:45 +0700, Bagas Sanjaya wrote:
> On Wed, Mar 05, 2025 at 02:05:50PM +0100, Philipp Stanner wrote:
> >   /**
> > -         * @run_job: Called to execute the job once all of the
> > dependencies
> > -         * have been resolved.  This may be called multiple times,
> > if
> > - * timedout_job() has happened and
> > drm_sched_job_recovery()
> > - * decides to try it again.
> > + * @run_job: Called to execute the job once all of the
> > dependencies
> > + * have been resolved.
> > + *
> > + * @sched_job: the job to run
> > + *
> > + * The deprecated drm_sched_resubmit_jobs() (called by
> > &struct
> > + * drm_sched_backend_ops.timedout_job) can invoke this
> > again with the
> > + * same parameters. Using this is discouraged because it
> > violates
> > + * dma_fence rules, notably dma_fence_init() has to be
> > called on
> > + * already initialized fences for a second time. Moreover,
> > this is
> > + * dangerous because attempts to allocate memory might
> > deadlock with
> > + * memory management code waiting for the reset to
> > complete.
> > + *
> > + * TODO: Document what drivers should do / use instead.
>
> No replacement? Or bespoke/roll-your-own functionality as a must?
>
> Confused...

We will document this in a follow-up. I'm trying for 2 months now [1]
just to fix up some broken, outdated documentation – and that in a
component that *I* am maintaining.

It's very difficult to reach the relevant stakeholders, and I really
want to unblock this series.

Feel free to provide a proposal for the TODO based on this series or
jump into the discussion here [2].

Otherwise I will propose a fix for the TODO some time the next weeks.

P.

[1] https://lore.kernel.org/dri-devel/20250109133710.39404-2-phasta@kernel.org/
[2] https://lore.kernel.org/dri-devel/688b5665-496d-470d-9835-0c6eadfa5569@gmail.com/