Re: [PATCH v7 1/3] drm/sched: Adjust outdated docu for run_job()
From: Philipp Stanner
Date: Wed Mar 05 2025 - 09:26:25 EST
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@xxxxxxxxxx/
[2] https://lore.kernel.org/dri-devel/688b5665-496d-470d-9835-0c6eadfa5569@xxxxxxxxx/