From: Xiaolin Zhang <xiaolin.zhang@intel.com>
To: intel-gvt-dev@lists.freedesktop.org, intel-gfx@lists.freedesktop.org
Cc: zhenyu.z.wang@intel.com, hang.yuan@intel.com,
joonas.lahtinen@intel.com, fei.jiang@intel.com,
zhiyuan.lv@intel.com
Subject: [RFC 00/10] i915 pvmmio to improve GVTg performance
Date: Thu, 27 Sep 2018 12:37:45 -0400 [thread overview]
Message-ID: <1538066275-52932-1-git-send-email-xiaolin.zhang@intel.com> (raw)
To improve GVTg performance, it could reduce the mmio access trap
numbers within guest driver in some certain scenarios since mmio
access trap will introuduce vm exit/vm enter cost.
the solution in this patch set is to setup a shared memory region
which accessed both by guest and GVTg without trap cost. the shared
memory region is allocated by guest driver and guest driver will
pass the region's memory guest physical address to GVTg through
PVINFO register and later GVTg can access this region directly without
trap cost to achieve data exchange purpose between guest and GVTg.
in this patch set, 3 kind of pvmmio optimization implemented which is
controlled by enable_pvmmio PVINO register with different level flag.
1. workload submission (context submission): reduce 4 traps to 1 trap.
2. master irq: reduce 2 traps to 1 trap.
3. ppgtt update: eliminate the cost of ppgtt write protection.
based on the experiment, the performance was gained 4 percent (average)
improvment with regard to both media and 3D workload benchmarks.
based on the pvmmio framework, it could achive more sceneario optimization
such as globle GTT update, display plane and water mark update with guest.
Xiaolin Zhang (10):
drm/i915/gvt: add module parameter enable_pvmmio
drm/i915/gvt: get ready of memory for pvmmio
drm/i915/gvt: context submission pvmmio optimization
drm/i915/gvt: master irq pvmmio optimization
drm/i915/gvt: ppgtt update pvmmio optimization
drm/i915/gvt: GVTg handle enable_pvmmio PVINFO register
drm/i915/gvt: GVTg read_shared_page implementation
drm/i915/gvt: GVTg support context submission pvmmio optimization
drm/i915/gvt: GVTg support master irq pvmmio optimization
drm/i915/gvt: GVTg support ppgtt pvmmio optimization
drivers/gpu/drm/i915/gvt/gtt.c | 318 +++++++++++++++++++++++++++++++++++
drivers/gpu/drm/i915/gvt/gtt.h | 9 +
drivers/gpu/drm/i915/gvt/gvt.h | 4 +-
drivers/gpu/drm/i915/gvt/handlers.c | 44 ++++-
drivers/gpu/drm/i915/gvt/interrupt.c | 17 +-
drivers/gpu/drm/i915/gvt/vgpu.c | 20 +++
drivers/gpu/drm/i915/i915_drv.c | 5 +
drivers/gpu/drm/i915/i915_drv.h | 6 +
drivers/gpu/drm/i915/i915_gem_gtt.c | 36 ++++
drivers/gpu/drm/i915/i915_irq.c | 29 +++-
drivers/gpu/drm/i915/i915_params.c | 4 +
drivers/gpu/drm/i915/i915_params.h | 4 +-
drivers/gpu/drm/i915/i915_pvinfo.h | 43 ++++-
drivers/gpu/drm/i915/i915_vgpu.c | 29 +++-
drivers/gpu/drm/i915/intel_lrc.c | 37 +++-
15 files changed, 588 insertions(+), 17 deletions(-)
--
1.8.3.1
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
next reply other threads:[~2018-09-27 16:37 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-09-27 16:37 Xiaolin Zhang [this message]
2018-09-27 7:20 ` ✗ Fi.CI.CHECKPATCH: warning for i915 pvmmio to improve GVTg performance Patchwork
2018-09-27 7:24 ` ✗ Fi.CI.SPARSE: " Patchwork
2018-09-27 7:43 ` ✓ Fi.CI.BAT: success " Patchwork
2018-09-27 10:25 ` ✓ Fi.CI.IGT: " Patchwork
2018-09-27 11:07 ` [RFC 00/10] " Joonas Lahtinen
2018-09-28 6:11 ` Zhang, Xiaolin
2018-09-27 16:37 ` [RFC 01/10] drm/i915/gvt: add module parameter enable_pvmmio Xiaolin Zhang
2018-09-27 7:16 ` Chris Wilson
2018-09-27 11:03 ` Joonas Lahtinen
2018-09-28 6:09 ` Zhang, Xiaolin
2018-10-09 2:26 ` Zhenyu Wang
2018-10-10 6:48 ` Zhang, Xiaolin
2018-09-27 16:37 ` [RFC 02/10] drm/i915/gvt: get ready of memory for pvmmio Xiaolin Zhang
2018-09-27 7:17 ` Chris Wilson
2018-09-28 7:31 ` Zhang, Xiaolin
2018-10-09 2:31 ` Zhenyu Wang
2018-09-27 16:37 ` [RFC 03/10] drm/i915/gvt: context submission pvmmio optimization Xiaolin Zhang
2018-09-27 7:19 ` Chris Wilson
2018-09-28 5:31 ` Zhang, Xiaolin
2018-09-27 11:13 ` Joonas Lahtinen
2018-09-27 16:37 ` [RFC 04/10] drm/i915/gvt: master irq " Xiaolin Zhang
2018-09-27 16:37 ` [RFC 05/10] drm/i915/gvt: ppgtt update " Xiaolin Zhang
2018-09-27 16:37 ` [RFC 06/10] drm/i915/gvt: GVTg handle enable_pvmmio PVINFO register Xiaolin Zhang
2018-09-27 16:37 ` [RFC 07/10] drm/i915/gvt: GVTg read_shared_page implementation Xiaolin Zhang
2018-09-27 16:37 ` [RFC 08/10] drm/i915/gvt: GVTg support context submission pvmmio optimization Xiaolin Zhang
2018-09-27 16:37 ` [RFC 09/10] drm/i915/gvt: GVTg support master irq " Xiaolin Zhang
2018-09-27 16:37 ` [RFC 10/10] drm/i915/gvt: GVTg support ppgtt " Xiaolin Zhang
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1538066275-52932-1-git-send-email-xiaolin.zhang@intel.com \
--to=xiaolin.zhang@intel.com \
--cc=fei.jiang@intel.com \
--cc=hang.yuan@intel.com \
--cc=intel-gfx@lists.freedesktop.org \
--cc=intel-gvt-dev@lists.freedesktop.org \
--cc=joonas.lahtinen@intel.com \
--cc=zhenyu.z.wang@intel.com \
--cc=zhiyuan.lv@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.