• Home
  • Raw
  • Download

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
122 * @sched: scheduler instance to associate with this run queue
123 * @rq: scheduler run queue
125 * Initializes a scheduler runqueue.
140 * @rq: scheduler run queue
141 * @entity: scheduler entity
143 * Adds a scheduler entity to the run queue.
162 * @rq: scheduler run queue
163 * @entity: scheduler entity
165 * Removes a scheduler entity from the run queue.
190 * @rq: scheduler run queue to check.
234 * @rq: scheduler run queue to check.
296 * @sched: scheduler instance to start the worker for
298 * Start the timeout for the given scheduler.
310 * @sched: scheduler where the timeout handling should be started.
322 * drm_sched_suspend_timeout - Suspend scheduler job timeout
324 * @sched: scheduler instance for which to suspend the timeout
326 * Suspend the delayed work timeout for the scheduler. This is done by
352 * drm_sched_resume_timeout - Resume scheduler job timeout
354 * @sched: scheduler instance for which to resume the timeout
357 * Resume the delayed work timeout for the scheduler.
427 * drm_sched_stop - stop the scheduler
429 * @sched: scheduler instance
432 * Stop the scheduler and also removes and frees all completed jobs.
449 * now until the scheduler thread is unparked. in drm_sched_stop()
515 * @sched: scheduler instance
562 * @sched: scheduler instance
573 * we shouldn't make this a general scheduler feature around the dma_fence
613 * drm_sched_job_init - init a scheduler job
614 * @job: scheduler job to init
615 * @entity: scheduler entity to use
660 * drm_sched_job_arm - arm a scheduler job for execution
661 * @job: scheduler job to arm
663 * This arms a scheduler job for execution. Specifically it initializes the
691 * @job: scheduler job to add the dependencies to
737 * @job: scheduler job to add the dependencies to
765 * @job: scheduler job to add the dependencies to
801 * @job: scheduler job to add the dependencies to
823 * drm_sched_job_cleanup - clean up scheduler job resources
824 * @job: scheduler job to clean up
832 * scheduler, and this function should be called from the
860 * @sched: scheduler instance
871 * drm_sched_wakeup_if_can_queue - Wake up the scheduler
872 * @sched: scheduler instance
874 * Wake up the scheduler if we can queue jobs.
885 * @sched: scheduler instance
913 * @sched: scheduler instance
973 DRM_WARN("scheduler %s is not ready, skipping", in drm_sched_pick_best()
990 * drm_sched_blocked - check if the scheduler is blocked
992 * @sched: scheduler instance
1007 * drm_sched_main - main scheduler thread
1009 * @param: scheduler instance
1078 * drm_sched_init - Init a gpu scheduler instance
1080 * @sched: scheduler instance
1081 * @ops: backend operations for this scheduler
1084 * @timeout: timeout value in jiffies for the scheduler
1120 /* Each scheduler will run on a seperate kernel thread */ in drm_sched_init()
1125 DRM_DEV_ERROR(sched->dev, "Failed to create scheduler for %s.\n", name); in drm_sched_init()
1135 * drm_sched_fini - Destroy a gpu scheduler
1137 * @sched: scheduler instance
1139 * Tears down and cleans up the scheduler.
1164 /* Wakeup everyone stuck in drm_sched_entity_flush for this scheduler */ in drm_sched_fini()
1180 * limit of the scheduler then the respective sched entity is marked guilty and