[PATCH 4.10 061/110] drm/i915/gvt: Fix gvt scheduler interval time

From: Greg Kroah-Hartman
Date: Mon Apr 10 2017 - 13:07:48 EST


4.10-stable review patch. If anyone has any objections, please let me know.

------------------

From: Zhenyu Wang <zhenyuw@xxxxxxxxxxxxxxx>

commit 2958b9013fcbabeeba221161d0712f5259f1e15d upstream.

Fix to correctly assign 1ms for gvt scheduler interval time,
as previous code using HZ is pretty broken. And use no delay
for start gvt scheduler function.

Fixes: 4b63960ebd3f ("drm/i915/gvt: vGPU schedule policy framework")
Cc: Zhi Wang <zhi.a.wang@xxxxxxxxx>
Acked-by: Chuanxiao Dong <chuanxiao.dong@xxxxxxxxx>
Signed-off-by: Zhenyu Wang <zhenyuw@xxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>

---
drivers/gpu/drm/i915/gvt/sched_policy.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

--- a/drivers/gpu/drm/i915/gvt/sched_policy.c
+++ b/drivers/gpu/drm/i915/gvt/sched_policy.c
@@ -101,7 +101,7 @@ struct tbs_sched_data {
struct list_head runq_head;
};

-#define GVT_DEFAULT_TIME_SLICE (1 * HZ / 1000)
+#define GVT_DEFAULT_TIME_SLICE (msecs_to_jiffies(1))

static void tbs_sched_func(struct work_struct *work)
{
@@ -224,7 +224,7 @@ static void tbs_sched_start_schedule(str
return;

list_add_tail(&vgpu_data->list, &sched_data->runq_head);
- schedule_delayed_work(&sched_data->work, sched_data->period);
+ schedule_delayed_work(&sched_data->work, 0);
}

static void tbs_sched_stop_schedule(struct intel_vgpu *vgpu)