[PATCH v2 0/5] i915 pvmmio to improve GVTg performance

Zhang, Xiaolin xiaolin.zhang at intel.com
Mon Oct 29 07:13:10 UTC 2018


Hi Chris, Joonas,

Would you take a chance to review new patch set for pvmmio feature? it
is important for GVT to gain performance in upstream. thanks very much. 
I would like to address comment as early as possible to make them better
for upstream. thanks very much.

BRs
Xiaolin

On 10/25/2018 09:53 AM, Zhang, Xiaolin wrote:
> Would like to ask ping for review patch set v2. thanks very much.
>
> BRs, Xiaolin
>
>
> On 10/19/2018 03:27 PM, Zhang, Xiaolin wrote:
>> 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(-)
>>
>



More information about the intel-gvt-dev mailing list