drm/i915/gvt: Fix vGPU sched timeslice calculation warning
authorZhenyu Wang <zhenyuw@linux.intel.com>
Thu, 22 Feb 2018 07:16:13 +0000 (15:16 +0800)
committerZhenyu Wang <zhenyuw@linux.intel.com>
Tue, 6 Mar 2018 05:19:24 +0000 (13:19 +0800)
Fix below warning by using proper ktime helper to calculate timeslice.

CHECK   drivers/gpu/drm/i915//gvt/sched_policy.c
drivers/gpu/drm/i915//gvt/sched_policy.c:108 gvt_balance_timeslice() debug: sval_binop_signed: invalid divide LLONG_MIN/-1
drivers/gpu/drm/i915//gvt/sched_policy.c:108 gvt_balance_timeslice() debug: sval_binop_signed: invalid divide LLONG_MIN/-1

Reviewed-by: Zhi Wang <zhi.a.wang@intel.com>
Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com>
drivers/gpu/drm/i915/gvt/sched_policy.c

index cc1ce36..75b7bc7 100644 (file)
@@ -103,9 +103,8 @@ static void gvt_balance_timeslice(struct gvt_sched_data *sched_data)
 
                list_for_each(pos, &sched_data->lru_runq_head) {
                        vgpu_data = container_of(pos, struct vgpu_sched_data, lru_list);
-                       fair_timeslice = ms_to_ktime(GVT_TS_BALANCE_PERIOD_MS) *
-                                               vgpu_data->sched_ctl.weight /
-                                               total_weight;
+                       fair_timeslice = ktime_divns(ms_to_ktime(GVT_TS_BALANCE_PERIOD_MS),
+                                                    total_weight) * vgpu_data->sched_ctl.weight;
 
                        vgpu_data->allocated_ts = fair_timeslice;
                        vgpu_data->left_ts = vgpu_data->allocated_ts;