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>
Thu, 16 Nov 2017 03:51:55 +0000 (11:51 +0800)
commitf2880e04f3a5419366926182fc97a3c2e4fd8f2a
tree99d877cb2d9f3e434fc9b3af1327972f9f15d786
parentb2d6ef70614e9e9dacfa9fc7dac49e7dc22dc8b3
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: 89ea20b930cb ("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>
drivers/gpu/drm/i915/gvt/scheduler.c