aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/gvt/scheduler.c
diff options
context:
space:
mode:
authorChangbin Du <changbin.du@intel.com>2017-11-29 15:40:07 +0800
committerZhenyu Wang <zhenyuw@linux.intel.com>2017-12-04 11:24:35 +0800
commitc130456cefd4cf9531f12f3e9b23805d34706ac0 (patch)
tree46229a9e9a16cc6c77f364ebc5ba188e49721ea2 /drivers/gpu/drm/i915/gvt/scheduler.c
parentdrm/i915/gvt: Convert macro queue_workload to a function (diff)
downloadlinux-dev-c130456cefd4cf9531f12f3e9b23805d34706ac0.tar.xz
linux-dev-c130456cefd4cf9531f12f3e9b23805d34706ac0.zip
drm/i915/gvt: Kick scheduler when new workload queued
The current schedule policy rely on a 1ms timer to execute workload. This can introduce maximum 1ms unnecessary latency. This is especially bad for small media workloads. And I don't think we need this timer for QoS, but the change is not simply remove the code. So I made a new API intel_gvt_kick_schedule() for future change. Signed-off-by: Changbin Du <changbin.du@intel.com> Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com>
Diffstat (limited to 'drivers/gpu/drm/i915/gvt/scheduler.c')
-rw-r--r--drivers/gpu/drm/i915/gvt/scheduler.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/gvt/scheduler.c b/drivers/gpu/drm/i915/gvt/scheduler.c
index abf71be092f8..76d2812f2f03 100644
--- a/drivers/gpu/drm/i915/gvt/scheduler.c
+++ b/drivers/gpu/drm/i915/gvt/scheduler.c
@@ -1337,5 +1337,6 @@ void intel_vgpu_queue_workload(struct intel_vgpu_workload *workload)
{
list_add_tail(&workload->list,
workload_q_head(workload->vgpu, workload->ring_id));
+ intel_gvt_kick_schedule(workload->vgpu->gvt);
wake_up(&workload->vgpu->gvt->scheduler.waitq[workload->ring_id]);
}