Lines Matching defs:scheduler

134 	struct intel_gvt_workload_scheduler *scheduler = &gvt->scheduler;
141 * let scheduler chose next_vgpu again by setting it to NULL.
143 if (scheduler->next_vgpu == scheduler->current_vgpu) {
144 scheduler->next_vgpu = NULL;
152 scheduler->need_reschedule = true;
156 if (scheduler->current_workload[engine->id])
161 vgpu_update_timeslice(scheduler->current_vgpu, cur_time);
162 vgpu_data = scheduler->next_vgpu->sched_data;
166 scheduler->current_vgpu = scheduler->next_vgpu;
167 scheduler->next_vgpu = NULL;
169 scheduler->need_reschedule = false;
173 wake_up(&scheduler->waitq[engine->id]);
214 struct intel_gvt_workload_scheduler *scheduler = &gvt->scheduler;
219 if (list_empty(&sched_data->lru_runq_head) || scheduler->next_vgpu)
224 scheduler->next_vgpu = vgpu;
233 scheduler->next_vgpu = gvt->idle_vgpu;
236 if (scheduler->next_vgpu)
242 struct gvt_sched_data *sched_data = gvt->scheduler.sched_data;
258 vgpu_update_timeslice(gvt->scheduler.current_vgpu, cur_time);
279 struct intel_gvt_workload_scheduler *scheduler =
280 &gvt->scheduler;
294 scheduler->sched_data = data;
301 struct intel_gvt_workload_scheduler *scheduler =
302 &gvt->scheduler;
303 struct gvt_sched_data *data = scheduler->sched_data;
308 scheduler->sched_data = NULL;
331 struct gvt_sched_data *sched_data = gvt->scheduler.sched_data;
343 struct gvt_sched_data *sched_data = vgpu->gvt->scheduler.sched_data;
385 gvt->scheduler.sched_ops = &tbs_schedule_ops;
386 ret = gvt->scheduler.sched_ops->init(gvt);
395 gvt->scheduler.sched_ops->clean(gvt);
399 /* for per-vgpu scheduler policy, there are 2 per-vgpu data:
401 * the global scheduler which are proteced by gvt->sched_lock.
411 ret = vgpu->gvt->scheduler.sched_ops->init_vgpu(vgpu);
420 vgpu->gvt->scheduler.sched_ops->clean_vgpu(vgpu);
431 vgpu->gvt->scheduler.sched_ops->start_schedule(vgpu);
445 struct intel_gvt_workload_scheduler *scheduler =
446 &vgpu->gvt->scheduler;
458 scheduler->sched_ops->stop_schedule(vgpu);
460 if (scheduler->next_vgpu == vgpu)
461 scheduler->next_vgpu = NULL;
463 if (scheduler->current_vgpu == vgpu) {
465 scheduler->need_reschedule = true;
466 scheduler->current_vgpu = NULL;
470 spin_lock_bh(&scheduler->mmio_context_lock);
472 if (scheduler->engine_owner[engine->id] == vgpu) {
474 scheduler->engine_owner[engine->id] = NULL;
477 spin_unlock_bh(&scheduler->mmio_context_lock);