linux_dsm_epyc7002/drivers/gpu/drm/i915/gvt
Zhipeng Gong 5da795b061 drm/i915/gvt: Make MI_USER_INTERRUPT nop in cmd parser
GVT-g dispatches request to host i915 and depends on i915 notify
ring interrupt mechanism to check completion of request.
For now MI_USER_INTERRUPT in guest requests is passed through
in GVT-g cmd parser and i915 does not use it, which causes
unnecessary interrupt handling in i915.
On the other hand, if several requests from guest are combined into
one request in and contain MI_USER_INTERRUPT in the middle of
combined request. GVT-g still has to wait on the whole request to
complete to inject user interrupts to guest.

This patch makes all the MI_USER_INTERRUPT nop to save some interrupt
handling.

Here is test result to run glmark2 on guest for 10 seconds:
host master interrupts number is reduced from 16021 to 11162
host user interrupts number is reduced from 7936 to 3536

v2:
- revise commit message. (Kevin)

Reviewed-by: Kevin Tian <kevin.tian@intel.com>
Signed-off-by: Zhipeng Gong <zhipeng.gong@intel.com>
Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com>
2018-03-28 16:14:59 +08:00
..
aperture_gm.c drm/i915: Add interface to reserve fence registers for vGPU 2017-09-04 16:34:59 +01:00
cfg_space.c drm/i915/gvt: Fix aperture read/write emulation when enable x-no-mmap=on 2018-02-06 11:41:27 -08:00
cmd_parser.c drm/i915/gvt: Make MI_USER_INTERRUPT nop in cmd parser 2018-03-28 16:14:59 +08:00
cmd_parser.h drm/i915/gvt: Factor out scan and shadow from workload dispatch 2017-08-10 10:26:06 +08:00
debug.h drm/i915/gvt: Make gvt_vgpu_err use pr_err 2017-11-16 11:48:34 +08:00
debugfs.c drm/i915/gvt: Add new debugfs tool mmio_diff 2017-11-16 11:48:32 +08:00
display.c drm/i915/gvt: cleanup usage for typed mmio reg vs. offset 2017-12-22 16:33:03 +08:00
display.h drm/i915/gvt: Add framebuffer decoder support 2017-12-04 11:24:33 +08:00
dmabuf.c drm/i915/gvt: Fix one gvt_vgpu_error() use in dmabuf.c 2018-03-06 13:19:23 +08:00
dmabuf.h drm/i915/gvt: Dmabuf support for GVT-g 2017-12-04 11:24:33 +08:00
edid.c drm/i915/gvt: cleanup usage for typed mmio reg vs. offset 2017-12-22 16:33:03 +08:00
edid.h
execlist.c drm/i915/gvt: refine intel_vgpu_submission_ops as per engine ops 2018-02-06 11:40:59 -08:00
execlist.h drm/i915/gvt: Make elsp_dwords in the right order 2017-11-16 11:46:07 +08:00
fb_decoder.c drm/i915/gvt: cleanup usage for typed mmio reg vs. offset 2017-12-22 16:33:03 +08:00
fb_decoder.h drm/i915/gvt: Add framebuffer decoder support 2017-12-04 11:24:33 +08:00
firmware.c drm/i915/gvt: Add mmio iterator intel_gvt_for_each_tracked_mmio() 2017-11-16 11:48:32 +08:00
gtt.c drm/i915/gvt: Invalidate vGPU PPGTT mm objects during a vGPU reset. 2018-03-19 14:51:20 +08:00
gtt.h drm/i915/gvt: Invalidate vGPU PPGTT mm objects during a vGPU reset. 2018-03-19 14:51:20 +08:00
gvt.c drm/i915/gvt: Provide generic page_track infrastructure for write-protected page 2018-03-06 13:19:20 +08:00
gvt.h drm/i915/kvmgt: Add kvmgt debugfs entry nr_cache_entries under vgpu 2018-03-06 13:19:28 +08:00
handlers.c drm/i915/gvt: Mark expected switch fall-through in handle_g2v_notification 2018-03-28 16:14:59 +08:00
hypercall.h drm/i915/gvt: Fix guest vGPU hang caused by very high dma setup overhead 2018-03-06 13:19:27 +08:00
interrupt.c drm/i915/gvt: Change flood gvt dmesg into trace 2017-06-08 13:59:16 +08:00
interrupt.h
kvmgt.c drm/i915/gvt: throw error on unhandled vfio ioctls 2018-03-22 10:20:12 +08:00
Makefile drm/i915/gvt: Provide generic page_track infrastructure for write-protected page 2018-03-06 13:19:20 +08:00
mmio_context.c drm/i915/gvt: init mmio by lri command in vgpu inhibit context 2018-03-06 13:19:23 +08:00
mmio_context.h drm/i915/gvt: init mmio by lri command in vgpu inhibit context 2018-03-06 13:19:23 +08:00
mmio.c drm/i915/gvt: Rename ggtt related functions to be more specific 2018-03-06 13:19:16 +08:00
mmio.h drm/i915/gvt: cleanup usage for typed mmio reg vs. offset 2017-12-22 16:33:03 +08:00
mpt.h drm/i915/gvt: Fix guest vGPU hang caused by very high dma setup overhead 2018-03-06 13:19:27 +08:00
opregion.c drm/i915/gvt: Use KVM r/w to access guest opregion 2018-02-06 11:41:34 -08:00
page_track.c drm/i915/gvt: Return error at the failure of finding page_track 2018-03-06 14:49:38 +08:00
page_track.h drm/i915/gvt: Provide generic page_track infrastructure for write-protected page 2018-03-06 13:19:20 +08:00
reg.h drm/i915/gvt: Use I915_GTT_PAGE_SIZE 2017-11-16 11:48:22 +08:00
sched_policy.c drm/i915/gvt: Fix vGPU sched timeslice calculation warning 2018-03-06 13:19:24 +08:00
sched_policy.h drm/i915/gvt: Kick scheduler when new workload queued 2017-12-04 11:24:35 +08:00
scheduler.c drm/i915/gvt: force to set all context control bits from guest 2018-03-19 17:33:30 +08:00
scheduler.h Merge drm-next into drm-intel-next-queued (this time for real) 2018-03-01 11:14:24 +02:00
trace_points.c
trace.h drm/i915/gvt: Rework shadow page management code 2018-03-06 13:19:18 +08:00
vgpu.c drm/i915/gvt: Invalidate vGPU PPGTT mm objects during a vGPU reset. 2018-03-19 14:51:20 +08:00