public inbox for intel-gfx@lists.freedesktop.org
 help / color / mirror / Atom feed
* [PATCH 00/15] Introduce the implementation of GVT context
@ 2016-05-15 17:32 Zhi Wang
  2016-05-15 17:32 ` [PATCH 01/15] drm/i915: Factor out i915_pvinfo.h Zhi Wang
                   ` (15 more replies)
  0 siblings, 16 replies; 31+ messages in thread
From: Zhi Wang @ 2016-05-15 17:32 UTC (permalink / raw)
  To: intel-gfx, david.s.gordon, joonas.lahtinen, kevin.tian,
	zhiyuan.lv

Mostly this patchset introduces the implementation of GVT context. GVT
context is a special GEM context used by GVT-g. GVT-g use it as the shadow
context.It doesn't have a drm client nor a PPGTT. And it has a larger ring
buffer with several special features need by GVT-g workload scheduler like
context status change notification, context single submission...

v4:

- Based on the latest drm-intel-nightly branch.
- Drop PPGTT refactor patches. (GVT-g will use LRI to load PDPs)
- Drop i915_gem_context() refactor patches, reuse kernel context functions.
  (Dave Gordon)
- Drop context allocation params and refactor as the lrc deferred
  allocation function has been refactored in another styles.
- Re-wrtie GVT context creation function

Difference from community release
---------------------------------

This patchset is different from regular iGVT-g code release[4], which
is still based on old host-mediated architecture. Furthermore, this
patchset only supports BDW whereas code release supports HSW/BDW/SKL.
We will add SKL support later based on this RFC code and HSW support
will be dropped.

Internally we tested this RFC patchset with both linux and windows VM
and the architecture changes work fine.

Acknowledgment
---------------

iGVT-g implementation is several years effort and many people
contributed to the code. There names are not here yet. In later formal
patchset we will reflect individual's contribution.

st
Meanwhile, in the previous iGVT-g related discussion, Daniel, Chris
and Joonas ever gave very good inputs. We appreciate them and look
forward to more comments/suggestions from community.

We are trying to get more familiar with i915 but may still have gaps.
We are willing to adopt suggestions to keep improving. We hope to work
with community together to make iGVT-g a great component in i915 to
support graphics virtualization. Thanks!

Reference
---------

[1] https://01.org/igvt-g
[2] http://lists.freedesktop.org/archives/intel-gfx/2014-September/053098.html
[3] http://lists.freedesktop.org/archives/intel-gfx/2015-September/075397.html

Bing Niu (1):
  drm/i915: Introduce host graphics memory partition for GVT-g

Zhi Wang (14):
  drm/i915: Factor out i915_pvinfo.h
  drm/i915/gvt: Fold vGPU active check into inner functions
  drm/i915: gvt: Introduce the basic architecture of GVT-g
  drm/i915: Set ctx->ppgtt for aliasing PPGTT in context creation
  drm/i915: Allow the caller to create a intel_context without PPGTT
  drm/i915: Populate context PDPs if it has a PPGTT
  drm/i915: Introduce an option for skipping engine context
    initialization
  drm/i915: Make ring buffer size configurable
  drm/i915: Generate addressing mode bit from flag in context.
  drm/i915: Introduce execlist context status change notification
  drm/i915: Support context single submission
  drm/i915: Introduce GVT context creation API
  drm/i915: Factor out and expose i915_steal_fence()
  drm/i915: Expose i915_find_fence_reg()

 drivers/gpu/drm/i915/Kconfig            |  15 +++
 drivers/gpu/drm/i915/Makefile           |   5 +
 drivers/gpu/drm/i915/gvt/Makefile       |   5 +
 drivers/gpu/drm/i915/gvt/debug.h        |  36 ++++++
 drivers/gpu/drm/i915/gvt/gvt.c          | 209 ++++++++++++++++++++++++++++++++
 drivers/gpu/drm/i915/gvt/gvt.h          |  85 +++++++++++++
 drivers/gpu/drm/i915/gvt/hypercall.h    |  38 ++++++
 drivers/gpu/drm/i915/gvt/mpt.h          |  51 ++++++++
 drivers/gpu/drm/i915/i915_dma.c         |  17 ++-
 drivers/gpu/drm/i915/i915_drv.h         |  46 +++++++
 drivers/gpu/drm/i915/i915_gem_context.c |  68 +++++++++--
 drivers/gpu/drm/i915/i915_gem_fence.c   |  49 ++++++--
 drivers/gpu/drm/i915/i915_gem_gtt.c     |  11 +-
 drivers/gpu/drm/i915/i915_pvinfo.h      | 115 ++++++++++++++++++
 drivers/gpu/drm/i915/i915_vgpu.c        |  29 ++++-
 drivers/gpu/drm/i915/i915_vgpu.h        |  88 +-------------
 drivers/gpu/drm/i915/intel_gvt.c        | 148 ++++++++++++++++++++++
 drivers/gpu/drm/i915/intel_gvt.h        |  51 ++++++++
 drivers/gpu/drm/i915/intel_lrc.c        |  93 ++++++++++----
 drivers/gpu/drm/i915/intel_lrc.h        |   5 +
 include/drm/i915_gvt.h                  |  31 +++++
 21 files changed, 1046 insertions(+), 149 deletions(-)
 create mode 100644 drivers/gpu/drm/i915/gvt/Makefile
 create mode 100644 drivers/gpu/drm/i915/gvt/debug.h
 create mode 100644 drivers/gpu/drm/i915/gvt/gvt.c
 create mode 100644 drivers/gpu/drm/i915/gvt/gvt.h
 create mode 100644 drivers/gpu/drm/i915/gvt/hypercall.h
 create mode 100644 drivers/gpu/drm/i915/gvt/mpt.h
 create mode 100644 drivers/gpu/drm/i915/i915_pvinfo.h
 create mode 100644 drivers/gpu/drm/i915/intel_gvt.c
 create mode 100644 drivers/gpu/drm/i915/intel_gvt.h
 create mode 100644 include/drm/i915_gvt.h

-- 
1.9.1

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

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

end of thread, other threads:[~2016-05-17  2:55 UTC | newest]

Thread overview: 31+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-05-15 17:32 [PATCH 00/15] Introduce the implementation of GVT context Zhi Wang
2016-05-15 17:32 ` [PATCH 01/15] drm/i915: Factor out i915_pvinfo.h Zhi Wang
2016-05-15 17:32 ` [PATCH 02/15] drm/i915/gvt: Fold vGPU active check into inner functions Zhi Wang
2016-05-16 10:49   ` Tvrtko Ursulin
2016-05-16 13:56     ` Wang, Zhi A
2016-05-15 17:32 ` [PATCH 03/15] drm/i915: gvt: Introduce the basic architecture of GVT-g Zhi Wang
2016-05-16 12:03   ` Tvrtko Ursulin
2016-05-17  2:55     ` Wang, Zhi A
2016-05-15 17:32 ` [PATCH 04/15] drm/i915: Introduce host graphics memory partition for GVT-g Zhi Wang
2016-05-15 17:32 ` [PATCH 05/15] drm/i915: Set ctx->ppgtt for aliasing PPGTT in context creation Zhi Wang
2016-05-16 13:30   ` Tvrtko Ursulin
2016-05-16 14:16     ` Wang, Zhi A
2016-05-16 14:26     ` Wang, Zhi A
2016-05-15 17:32 ` [PATCH 06/15] drm/i915: Allow the caller to create a intel_context without PPGTT Zhi Wang
2016-05-16 15:13   ` Chris Wilson
2016-05-16 15:18     ` Wang, Zhi A
2016-05-15 17:32 ` [PATCH 07/15] drm/i915: Populate context PDPs if it has a PPGTT Zhi Wang
2016-05-15 17:32 ` [PATCH 08/15] drm/i915: Introduce an option for skipping engine context initialization Zhi Wang
2016-05-15 17:32 ` [PATCH 09/15] drm/i915: Make ring buffer size configurable Zhi Wang
2016-05-15 17:32 ` [PATCH 10/15] drm/i915: Generate addressing mode bit from flag in context Zhi Wang
2016-05-16 13:47   ` Tvrtko Ursulin
2016-05-15 17:32 ` [PATCH 11/15] drm/i915: Introduce execlist context status change notification Zhi Wang
2016-05-16 14:00   ` Tvrtko Ursulin
2016-05-16 14:28     ` Wang, Zhi A
2016-05-15 17:32 ` [PATCH 12/15] drm/i915: Support context single submission Zhi Wang
2016-05-15 17:32 ` [PATCH 13/15] drm/i915: Introduce GVT context creation API Zhi Wang
2016-05-15 17:32 ` [PATCH 14/15] drm/i915: Factor out and expose i915_steal_fence() Zhi Wang
2016-05-16 14:57   ` Chris Wilson
2016-05-16 15:13     ` Wang, Zhi A
2016-05-15 17:32 ` [PATCH 15/15] drm/i915: Expose i915_find_fence_reg() Zhi Wang
2016-05-16  5:29 ` ✗ Ro.CI.BAT: failure for Introduce the implementation of GVT context Patchwork

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox