[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Z4To3x2dCGEi6hJX@pollux>
Date: Mon, 13 Jan 2025 11:20:15 +0100
From: Danilo Krummrich <dakr@...nel.org>
To: Philipp Stanner <phasta@...nel.org>
Cc: Luben Tuikov <ltuikov89@...il.com>,
Matthew Brost <matthew.brost@...el.com>,
Philipp Stanner <pstanner@...hat.com>,
Maarten Lankhorst <maarten.lankhorst@...ux.intel.com>,
Maxime Ripard <mripard@...nel.org>,
Thomas Zimmermann <tzimmermann@...e.de>,
David Airlie <airlied@...il.com>, Simona Vetter <simona@...ll.ch>,
Sumit Semwal <sumit.semwal@...aro.org>,
Christian König <christian.koenig@....com>,
dri-devel@...ts.freedesktop.org, linux-kernel@...r.kernel.org,
linux-media@...r.kernel.org, linaro-mm-sig@...ts.linaro.org
Subject: Re: [PATCH 2/3] drm/sched: Adjust outdated docu for run_job()
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 <phasta@...nel.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
>
Powered by blists - more mailing lists