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... -- An old man doll... just what I always wanted! - Clara
Attachment:
signature.asc
Description: PGP signature