Merge tag 'gvt-fixes-2017-05-11' of https://github.com/01org/gvt-linux into drm-intel...
authorJani Nikula <jani.nikula@intel.com>
Mon, 15 May 2017 10:03:30 +0000 (13:03 +0300)
committerJani Nikula <jani.nikula@intel.com>
Mon, 15 May 2017 10:03:31 +0000 (13:03 +0300)
gvt-fixes-2017-05-11

- vGPU scheduler performance regression fix (Ping)
- bypass in-context mmio restore (Chuanxiao)
- one typo fix (Colin)

Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20170511054736.swpcmnzdoqi75cnl@zhen-hp.sh.intel.com
1  2 
drivers/gpu/drm/i915/gvt/handlers.c
drivers/gpu/drm/i915/gvt/render.c
drivers/gpu/drm/i915/gvt/sched_policy.c

Simple merge
Simple merge
index 79ba4b3440aafd9537f287028d1e23a6186109a1,6ac77f8cc405d897caa373b95bd993b1ce4e3aa3..f25ff133865f1327936483ac166b97c41e0baa60
@@@ -126,13 -52,18 +126,17 @@@ static void try_to_schedule_next_vgpu(s
        struct intel_gvt_workload_scheduler *scheduler = &gvt->scheduler;
        enum intel_engine_id i;
        struct intel_engine_cs *engine;
 +      struct vgpu_sched_data *vgpu_data;
 +      ktime_t cur_time;
  
-       /* no target to schedule */
-       if (!scheduler->next_vgpu)
+       /* no need to schedule if next_vgpu is the same with current_vgpu,
+        * let scheduler chose next_vgpu again by setting it to NULL.
+        */
+       if (scheduler->next_vgpu == scheduler->current_vgpu) {
+               scheduler->next_vgpu = NULL;
                return;
+       }
  
 -      gvt_dbg_sched("try to schedule next vgpu %d\n",
 -                      scheduler->next_vgpu->id);
 -
        /*
         * after the flag is set, workload dispatch thread will
         * stop dispatching workload for current vgpu