Lines Matching full:scheduler

27  * The GPU scheduler provides entities which allow userspace to push jobs
29 * The software queues have a priority among them. The scheduler selects the entities
30 * from the run queue using a FIFO. The scheduler provides dependency handling
32 * backend operations to the scheduler like submitting a job to hardware run queue,
35 * The organisation of the scheduler is the following:
37 * 1. Each hw run queue has one scheduler
38 * 2. Each scheduler has multiple run queues with different priorities
40 * 3. Each scheduler run queue has a queue of entities to schedule
68 * @rq: scheduler run queue
70 * Initializes a scheduler runqueue.
84 * @rq: scheduler run queue
85 * @entity: scheduler entity
87 * Adds a scheduler entity to the run queue.
103 * @rq: scheduler run queue
104 * @entity: scheduler entity
106 * Removes a scheduler entity from the run queue.
124 * @rq: scheduler run queue to check.
194 * @sched: scheduler instance to start the worker for
196 * Start the timeout for the given scheduler.
208 * @sched: scheduler where the timeout handling should be started.
219 * drm_sched_suspend_timeout - Suspend scheduler job timeout
221 * @sched: scheduler instance for which to suspend the timeout
223 * Suspend the delayed work timeout for the scheduler. This is done by
249 * drm_sched_resume_timeout - Resume scheduler job timeout
251 * @sched: scheduler instance for which to resume the timeout
254 * Resume the delayed work timeout for the scheduler.
326 * limit of the scheduler then the respective sched entity is marked guilty and
366 * drm_sched_stop - stop the scheduler
368 * @sched: scheduler instance
371 * Stop the scheduler and also removes and frees all completed jobs.
388 * now until the scheduler thread is unparked. in drm_sched_stop()
451 * @sched: scheduler instance
498 * @sched: scheduler instance
537 * drm_sched_job_init - init a scheduler job
539 * @job: scheduler job to init
540 * @entity: scheduler entity to use
575 * drm_sched_job_cleanup - clean up scheduler job resources
577 * @job: scheduler job to clean up
587 * drm_sched_ready - is the scheduler ready
589 * @sched: scheduler instance
600 * drm_sched_wakeup - Wake up the scheduler when it is ready
602 * @sched: scheduler instance
614 * @sched: scheduler instance
665 * @sched: scheduler instance
723 DRM_WARN("scheduler %s is not ready, skipping", in drm_sched_pick_best()
740 * drm_sched_blocked - check if the scheduler is blocked
742 * @sched: scheduler instance
757 * drm_sched_main - main scheduler thread
759 * @param: scheduler instance
831 * drm_sched_init - Init a gpu scheduler instance
833 * @sched: scheduler instance
834 * @ops: backend operations for this scheduler
837 * @timeout: timeout value in jiffies for the scheduler
867 /* Each scheduler will run on a seperate kernel thread */ in drm_sched_init()
872 DRM_ERROR("Failed to create scheduler for %s.\n", name); in drm_sched_init()
882 * drm_sched_fini - Destroy a gpu scheduler
884 * @sched: scheduler instance
886 * Tears down and cleans up the scheduler.