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
66 * @sched: scheduler instance to associate with this run queue
67 * @rq: scheduler run queue
69 * Initializes a scheduler runqueue.
83 * @rq: scheduler run queue
84 * @entity: scheduler entity
86 * Adds a scheduler entity to the run queue.
102 * @rq: scheduler run queue
103 * @entity: scheduler entity
105 * Removes a scheduler entity from the run queue.
123 * @rq: scheduler run queue to check.
227 * @sched: scheduler instance to start the worker for
229 * Start the timeout for the given scheduler.
241 * @sched: scheduler where the timeout handling should be started.
252 * drm_sched_suspend_timeout - Suspend scheduler job timeout
254 * @sched: scheduler instance for which to suspend the timeout
256 * Suspend the delayed work timeout for the scheduler. This is done by
282 * drm_sched_resume_timeout - Resume scheduler job timeout
284 * @sched: scheduler instance for which to resume the timeout
287 * Resume the delayed work timeout for the scheduler.
362 * limit of the scheduler then the respective sched entity is marked guilty and
378 * drm_sched_stop - stop the scheduler
380 * @sched: scheduler instance
383 * Stop the scheduler and also removes and frees all completed jobs.
400 * now until the scheduler thread is unparked. in drm_sched_stop()
464 * @sched: scheduler instance
511 * @sched: scheduler instance
523 * @sched: scheduler instance
566 * drm_sched_job_init - init a scheduler job
568 * @job: scheduler job to init
569 * @entity: scheduler entity to use
604 * drm_sched_job_cleanup - clean up scheduler job resources
606 * @job: scheduler job to clean up
616 * drm_sched_ready - is the scheduler ready
618 * @sched: scheduler instance
629 * drm_sched_wakeup - Wake up the scheduler when it is ready
631 * @sched: scheduler instance
643 * @sched: scheduler instance
669 * @sched: scheduler instance
734 DRM_WARN("scheduler %s is not ready, skipping", in drm_sched_pick_best()
751 * drm_sched_blocked - check if the scheduler is blocked
753 * @sched: scheduler instance
768 * drm_sched_main - main scheduler thread
770 * @param: scheduler instance
843 * drm_sched_init - Init a gpu scheduler instance
845 * @sched: scheduler instance
846 * @ops: backend operations for this scheduler
849 * @timeout: timeout value in jiffies for the scheduler
883 /* Each scheduler will run on a seperate kernel thread */ in drm_sched_init()
888 DRM_ERROR("Failed to create scheduler for %s.\n", name); in drm_sched_init()
898 * drm_sched_fini - Destroy a gpu scheduler
900 * @sched: scheduler instance
902 * Tears down and cleans up the scheduler.
930 /* Wakeup everyone stuck in drm_sched_entity_flush for this scheduler */ in drm_sched_fini()