Lines Matching refs:sched_data

83 	vgpu_data = vgpu->sched_data;  in vgpu_update_timeslice()
93 static void gvt_balance_timeslice(struct gvt_sched_data *sched_data) in gvt_balance_timeslice() argument
107 list_for_each(pos, &sched_data->lru_runq_head) { in gvt_balance_timeslice()
112 list_for_each(pos, &sched_data->lru_runq_head) { in gvt_balance_timeslice()
121 list_for_each(pos, &sched_data->lru_runq_head) { in gvt_balance_timeslice()
162 vgpu_data = scheduler->next_vgpu->sched_data; in try_to_schedule_next_vgpu()
176 static struct intel_vgpu *find_busy_vgpu(struct gvt_sched_data *sched_data) in find_busy_vgpu() argument
180 struct list_head *head = &sched_data->lru_runq_head; in find_busy_vgpu()
211 static void tbs_sched_func(struct gvt_sched_data *sched_data) in tbs_sched_func() argument
213 struct intel_gvt *gvt = sched_data->gvt; in tbs_sched_func()
219 if (list_empty(&sched_data->lru_runq_head) || scheduler->next_vgpu) in tbs_sched_func()
222 vgpu = find_busy_vgpu(sched_data); in tbs_sched_func()
225 vgpu_data = vgpu->sched_data; in tbs_sched_func()
230 &sched_data->lru_runq_head); in tbs_sched_func()
242 struct gvt_sched_data *sched_data = gvt->scheduler.sched_data; in intel_gvt_schedule() local
250 if (cur_time >= sched_data->expire_time) { in intel_gvt_schedule()
251 gvt_balance_timeslice(sched_data); in intel_gvt_schedule()
252 sched_data->expire_time = ktime_add_ms( in intel_gvt_schedule()
259 tbs_sched_func(sched_data); in intel_gvt_schedule()
294 scheduler->sched_data = data; in tbs_sched_init()
303 struct gvt_sched_data *data = scheduler->sched_data; in tbs_sched_clean()
308 scheduler->sched_data = NULL; in tbs_sched_clean()
323 vgpu->sched_data = data; in tbs_sched_init_vgpu()
331 struct gvt_sched_data *sched_data = gvt->scheduler.sched_data; in tbs_sched_clean_vgpu() local
333 kfree(vgpu->sched_data); in tbs_sched_clean_vgpu()
334 vgpu->sched_data = NULL; in tbs_sched_clean_vgpu()
338 hrtimer_cancel(&sched_data->timer); in tbs_sched_clean_vgpu()
343 struct gvt_sched_data *sched_data = vgpu->gvt->scheduler.sched_data; in tbs_sched_start_schedule() local
344 struct vgpu_sched_data *vgpu_data = vgpu->sched_data; in tbs_sched_start_schedule()
355 list_add(&vgpu_data->lru_list, &sched_data->lru_runq_head); in tbs_sched_start_schedule()
357 if (!hrtimer_active(&sched_data->timer)) in tbs_sched_start_schedule()
358 hrtimer_start(&sched_data->timer, ktime_add_ns(ktime_get(), in tbs_sched_start_schedule()
359 sched_data->period), HRTIMER_MODE_ABS); in tbs_sched_start_schedule()
365 struct vgpu_sched_data *vgpu_data = vgpu->sched_data; in tbs_sched_stop_schedule()
426 struct vgpu_sched_data *vgpu_data = vgpu->sched_data; in intel_vgpu_start_schedule()
447 struct vgpu_sched_data *vgpu_data = vgpu->sched_data; in intel_vgpu_stop_schedule()