On Thu, Jan 09, 2025 at 02:37:11PM +0100, Philipp Stanner wrote:
> The documentation for drm_sched_backend_ops.run_job() mentions a certain
> function called drm_sched_job_recovery(). This function does not exist.
> What's actually meant is drm_sched_resubmit_jobs(), which is by now also
> deprecated.
> 
> Remove the mention of the deprecated function.
> 
> Discourage the behavior of drm_sched_backend_ops.run_job() being called
> multiple times for the same job.
> 
> Signed-off-by: Philipp Stanner <pha...@kernel.org>
> ---
>  include/drm/gpu_scheduler.h | 9 ++++++---
>  1 file changed, 6 insertions(+), 3 deletions(-)
> 
> diff --git a/include/drm/gpu_scheduler.h b/include/drm/gpu_scheduler.h
> index d5cd2a78f27c..c4e65f9f7f22 100644
> --- a/include/drm/gpu_scheduler.h
> +++ b/include/drm/gpu_scheduler.h
> @@ -421,9 +421,12 @@ struct drm_sched_backend_ops {
>  
>       /**
>        * @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.
> +      * have been resolved.
> +      *
> +      * The deprecated drm_sched_resubmit_jobs() (called from
> +      * drm_sched_backend_ops.timedout_job()) can invoke this again with the
> +      * same parameters. Doing this is strongly discouraged because it

Maybe "invoke this again for the same job"?

> +      * violates dma_fence rules.

Does it? AFAIU it puts certain expectations on the driver, before a driver can
call this function, which likely leads to the driver to violate dma_fence rules,
right?

Maybe we should also list the exact rules that are (likely to be) violated to
allow drivers to fix it at their end more easily.

>        *
>        * @sched_job: the job to run
>        *
> -- 
> 2.47.1
> 

Reply via email to