All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/5] i915 pvmmio to improve GVTg performance
@ 2018-10-19  7:27 Xiaolin Zhang
  2018-10-19  7:27 ` [PATCH v2 1/5] drm/i915: introduced pv capability for vgpu Xiaolin Zhang
                   ` (10 more replies)
  0 siblings, 11 replies; 19+ messages in thread
From: Xiaolin Zhang @ 2018-10-19  7:27 UTC (permalink / raw)
  To: intel-gfx; +Cc: intel-gvt-dev

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.

v0: RFC patch set
v1: addressed RFC review comments
v2: addressed v1 review comments, added pv callbacks for pv operations

Xiaolin Zhang (5):
  drm/i915: introduced pv capability for vgpu
  drm/i915: get ready of memory for pvmmio
  drm/i915: context submission pvmmio optimization
  drm/i915: master irq pvmmio optimization
  drm/i915: ppgtt update pvmmio optimization

 drivers/gpu/drm/i915/i915_drv.c         |  2 +
 drivers/gpu/drm/i915/i915_drv.h         | 15 +++++-
 drivers/gpu/drm/i915/i915_gem_gtt.c     | 67 +++++++++++++++++++++++++
 drivers/gpu/drm/i915/i915_irq.c         | 82 ++++++++++++++++++++++++++++--
 drivers/gpu/drm/i915/i915_pvinfo.h      | 43 +++++++++++++++-
 drivers/gpu/drm/i915/i915_vgpu.c        | 44 ++++++++++++++++-
 drivers/gpu/drm/i915/intel_lrc.c        | 88 +++++++++++++++++++++++++++++++--
 drivers/gpu/drm/i915/intel_ringbuffer.h |  3 ++
 8 files changed, 333 insertions(+), 11 deletions(-)

-- 
2.7.4

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 19+ messages in thread
* [PATCH v3 0/8] i915 pvmmio to improve GVTg performance
@ 2018-11-13  8:35 Xiaolin Zhang
  2018-11-13  9:44 ` ✗ Fi.CI.CHECKPATCH: warning for " Patchwork
  0 siblings, 1 reply; 19+ messages in thread
From: Xiaolin Zhang @ 2018-11-13  8:35 UTC (permalink / raw)
  To: intel-gvt-dev, intel-gfx

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, 2 kind of pvmmio optimization implemented which is
controlled by pvmmio_caps PVINO register with different level flag.
1. workload submission (context submission): reduce 4 traps to 1 trap.
2. 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.

v0: RFC patch set
v1: addressed RFC review comments
v2: addressed v1 review comments, added pv callbacks for pv operations
v3: 
1. addressed v2 review comments, removed pv callbacks code duplication in
v2 and unified pv calls under g2v notification register. different g2v pv
notifications defined. 
2. dropped pv master irq feature due to hard conflict with recnet i915
change and take time to rework.

Xiaolin Zhang (8):
  drm/i915: introduced pv capability for vgpu
  drm/i915: get ready of memory for pvmmio
  drm/i915: context submission pvmmio optimization
  drm/i915: ppgtt update pvmmio optimization
  drm/i915/gvt: GVTg handle pvmmio_caps PVINFO register
  drm/i915/gvt: GVTg handle shared_page setup
  drm/i915/gvt: GVTg support context submission 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          |  12 +-
 drivers/gpu/drm/i915/gvt/handlers.c     |  94 +++++++++-
 drivers/gpu/drm/i915/gvt/vgpu.c         |  31 ++++
 drivers/gpu/drm/i915/i915_drv.c         |   2 +
 drivers/gpu/drm/i915/i915_drv.h         |  15 +-
 drivers/gpu/drm/i915/i915_gem.c         |   3 +-
 drivers/gpu/drm/i915/i915_gem_gtt.c     |  67 +++++++
 drivers/gpu/drm/i915/i915_pvinfo.h      |  47 ++++-
 drivers/gpu/drm/i915/i915_vgpu.c        |  48 ++++-
 drivers/gpu/drm/i915/intel_lrc.c        |  33 +++-
 drivers/gpu/drm/i915/intel_ringbuffer.h |   3 +
 13 files changed, 668 insertions(+), 14 deletions(-)

-- 
2.7.4

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 19+ messages in thread
* [RFC 00/10] i915 pvmmio to improve GVTg performance
@ 2018-09-27 16:37 Xiaolin Zhang
  2018-09-27  7:20 ` ✗ Fi.CI.CHECKPATCH: warning for " Patchwork
  0 siblings, 1 reply; 19+ messages in thread
From: Xiaolin Zhang @ 2018-09-27 16:37 UTC (permalink / raw)
  To: intel-gvt-dev, intel-gfx
  Cc: zhenyu.z.wang, hang.yuan, joonas.lahtinen, fei.jiang, zhiyuan.lv

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

^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2018-11-13  9:44 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-10-19  7:27 [PATCH v2 0/5] i915 pvmmio to improve GVTg performance Xiaolin Zhang
2018-10-19  7:27 ` [PATCH v2 1/5] drm/i915: introduced pv capability for vgpu Xiaolin Zhang
2018-10-31  9:18   ` Zhang, Xiaolin
2018-10-19  7:27 ` [PATCH v2 2/5] drm/i915: get ready of memory for pvmmio Xiaolin Zhang
2018-10-31  9:18   ` Zhang, Xiaolin
2018-10-19  7:27 ` [PATCH v2 3/5] drm/i915: context submission pvmmio optimization Xiaolin Zhang
2018-10-31  9:18   ` Zhang, Xiaolin
2018-10-19  7:27 ` [PATCH v2 4/5] drm/i915: master irq " Xiaolin Zhang
2018-10-31  9:18   ` Zhang, Xiaolin
2018-10-19  7:27 ` [PATCH v2 5/5] drm/i915: ppgtt update " Xiaolin Zhang
2018-10-31  9:19   ` Zhang, Xiaolin
2018-10-22 10:00 ` ✗ Fi.CI.CHECKPATCH: warning for i915 pvmmio to improve GVTg performance Patchwork
2018-10-22 10:03 ` ✗ Fi.CI.SPARSE: " Patchwork
2018-10-22 10:25 ` ✓ Fi.CI.BAT: success " Patchwork
2018-10-22 12:42 ` ✓ Fi.CI.IGT: " Patchwork
2018-10-25  1:53 ` [PATCH v2 0/5] " Zhang, Xiaolin
2018-10-31 12:13 ` ✗ Fi.CI.BAT: failure for i915 pvmmio to improve GVTg performance (rev6) Patchwork
  -- strict thread matches above, loose matches on Subject: below --
2018-11-13  8:35 [PATCH v3 0/8] i915 pvmmio to improve GVTg performance Xiaolin Zhang
2018-11-13  9:44 ` ✗ Fi.CI.CHECKPATCH: warning for " Patchwork
2018-09-27 16:37 [RFC 00/10] " Xiaolin Zhang
2018-09-27  7:20 ` ✗ Fi.CI.CHECKPATCH: warning for " Patchwork

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.