[Intel-gfx] [PATCH v10 00/10] Introduce the implementation of GVT context

Wang, Zhi A zhi.a.wang at intel.com
Mon Jun 13 13:17:08 UTC 2016


Hi Chris:
    As Joonas is on vacation, can you pick my patches? or if you have some comments I can continue improving them.

Thanks,
Zhi.

> -----Original Message-----
> From: Wang, Zhi A
> Sent: Thursday, June 09, 2016 9:44 PM
> To: intel-gfx at lists.freedesktop.org
> Cc: chris at chris-wilson.co.uk; Lv, Zhiyuan <zhiyuan.lv at intel.com>; Tian, Kevin
> <kevin.tian at intel.com>; tvrtko.ursulin at linux.intel.com;
> joonas.lahtinen at linux.intel.com; Wang, Zhi A <zhi.a.wang at intel.com>
> Subject: [PATCH v10 00/10] Introduce the implementation of GVT context
> 
> This patchset introduces the implementation of GVT context. GVT context is a
> special GEM context used by GVT-g. GVT-g uses it as the shadow context.It
> doesn't have a drm client nor a PPGTT. And it requires a larger ring buffer with
> several special features need by GVT-g workload scheduler like context status
> change notification, context single submission...
> 
> ABAT results and link:
> 
> Series: Introduce the implementation of GVT context
> URL   : https://patchwork.freedesktop.org/series/8470/
> State : success
> 
> v10:
> 
> - Take Joonas' comments.
> 
> v9:
> 
> - Take Chris' comments.
> 
> v8:
> 
> - Take Joonas/Chris's comments.
> 
> v7:
> 
> - Take Joonas comments.
> 
> v6:
> 
> - Take Chris comments.
> 
> v5:
> 
> - Drop PPGTT related patches.
> - Let most functions take struct drm_i915_private *
> - Fixed some misspelled words in Kconfig
> - Only complied some feature when CONFIG_DRM_I915_GVT=y
> - Drop the fecne related changes, will send it after this series.
> 
> 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.
> 
> 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 (9):
>   drm/i915: Factor out i915_pvinfo.h
>   drm/i915: Use offsetof() to calculate the offset of members in PVINFO
>     page
>   drm/i915: Fold vGPU active check into inner functions
>   drm/i915: gvt: Introduce the basic architecture of GVT-g
>   drm/i915: Make ring buffer size of a LRC context configurable
>   drm/i915: Make addressing mode bits in context descriptor configurable
>   drm/i915: Introduce execlist context status change notification
>   drm/i915: Support LRC context single submission
>   drm/i915: Introduce GVT context creation API
> 
>  drivers/gpu/drm/i915/Kconfig            |  22 +++++
>  drivers/gpu/drm/i915/Makefile           |   5 ++
>  drivers/gpu/drm/i915/gvt/Makefile       |   5 ++
>  drivers/gpu/drm/i915/gvt/debug.h        |  34 ++++++++
>  drivers/gpu/drm/i915/gvt/gvt.c          | 145
> ++++++++++++++++++++++++++++++++
>  drivers/gpu/drm/i915/gvt/gvt.h          |  69 +++++++++++++++
>  drivers/gpu/drm/i915/gvt/hypercall.h    |  38 +++++++++
>  drivers/gpu/drm/i915/gvt/mpt.h          |  49 +++++++++++
>  drivers/gpu/drm/i915/i915_dma.c         |  16 +++-
>  drivers/gpu/drm/i915/i915_drv.h         |  16 ++++
>  drivers/gpu/drm/i915/i915_gem_context.c |  38 +++++++++
>  drivers/gpu/drm/i915/i915_gem_gtt.c     |  11 +--
>  drivers/gpu/drm/i915/i915_params.c      |   5 ++
>  drivers/gpu/drm/i915/i915_params.h      |   1 +
>  drivers/gpu/drm/i915/i915_pvinfo.h      | 113
> +++++++++++++++++++++++++
>  drivers/gpu/drm/i915/i915_reg.h         |  12 +++
>  drivers/gpu/drm/i915/i915_vgpu.c        |  32 +++++--
>  drivers/gpu/drm/i915/i915_vgpu.h        |  90 +-------------------
>  drivers/gpu/drm/i915/intel_gvt.c        | 100 ++++++++++++++++++++++
>  drivers/gpu/drm/i915/intel_gvt.h        |  81 ++++++++++++++++++
>  drivers/gpu/drm/i915/intel_lrc.c        |  54 +++++++++---
>  drivers/gpu/drm/i915/intel_lrc.h        |   5 ++
>  22 files changed, 821 insertions(+), 120 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
> 
> --
> 1.9.1



More information about the Intel-gfx mailing list