• 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
652 * drm_sched_job_arm - arm a scheduler job for execution
653 * @job: scheduler job to arm
655 * This arms a scheduler job for execution. Specifically it initializes the
683 * @job: scheduler job to add the dependencies to
729 * @job: scheduler job to add the dependencies to
757 * @job: scheduler job to add the dependencies to
793 * @job: scheduler job to add the dependencies to
815 * drm_sched_job_cleanup - clean up scheduler job resources
816 * @job: scheduler job to clean up
824 * scheduler, and this function should be called from the
852 * @sched: scheduler instance
863 * drm_sched_wakeup_if_can_queue - Wake up the scheduler
864 * @sched: scheduler instance
866 * Wake up the scheduler if we can queue jobs.
877 * @sched: scheduler instance
905 * @sched: scheduler instance
965 DRM_WARN("scheduler %s is not ready, skipping", in drm_sched_pick_best()
982 * drm_sched_blocked - check if the scheduler is blocked
984 * @sched: scheduler instance
999 * drm_sched_main - main scheduler thread
1001 * @param: scheduler instance
1070 * drm_sched_init - Init a gpu scheduler instance
1072 * @sched: scheduler instance
1073 * @ops: backend operations for this scheduler
1076 * @timeout: timeout value in jiffies for the scheduler
1112 /* Each scheduler will run on a seperate kernel thread */ in drm_sched_init()
1117 DRM_DEV_ERROR(sched->dev, "Failed to create scheduler for %s.\n", name); in drm_sched_init()
1127 * drm_sched_fini - Destroy a gpu scheduler
1129 * @sched: scheduler instance
1131 * Tears down and cleans up the scheduler.
1156 /* Wakeup everyone stuck in drm_sched_entity_flush for this scheduler */ in drm_sched_fini()
1172 * limit of the scheduler then the respective sched entity is marked guilty and