]> git.baikalelectronics.ru Git - kernel.git/commit
drm/i915/gvt: Move request alloc to dispatch_workload path only
authorfred gao <fred.gao@intel.com>
Tue, 14 Nov 2017 09:09:35 +0000 (17:09 +0800)
committerZhenyu Wang <zhenyuw@linux.intel.com>
Tue, 28 Nov 2017 09:24:20 +0000 (17:24 +0800)
commit5e4611c3cbe9f2bf7ab2b4886c071fd5b70deb60
tree9946385bece8895b1d9d80ec2c69183ebf91c769
parent073b7395c29d6776ad63061514e74ec357c36f6e
drm/i915/gvt: Move request alloc to dispatch_workload path only

Previously the performance is improved through the workload auditing
and shadowing ahead of vGPU scheduling, however, there is the case that
more requests are allocated in submit_context before the previous request
is added, the timeline will hold its seqno which is later.

This patch is to move the request alloc to dispatch_workload function,
where is the same place as request is added.

It will fix the issue of kernel BUG for (timeline->seqno != request->fence.seqno)
check when add_request.

Fixes: 1264d1843128 ("drm/i915/gvt: Factor out scan and shadow from workload dispatch")
Signed-off-by: Chuanxiao Dong <chuanxiao.dong@intel.com>
Signed-off-by: fred gao <fred.gao@intel.com>
Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com>
(cherry picked from commit f2880e04f3a5419366926182fc97a3c2e4fd8f2a)
drivers/gpu/drm/i915/gvt/execlist.c
drivers/gpu/drm/i915/gvt/scheduler.c
drivers/gpu/drm/i915/gvt/scheduler.h