[Intel-gfx] [PATCH v2 0/9] Prereqs for TTM accelerated migration

Matthew Auld matthew.auld at intel.com
Wed Jun 9 12:20:53 UTC 2021


On 09/06/2021 13:16, Thomas Hellström wrote:
> 
> On 6/9/21 1:48 PM, Daniel Vetter wrote:
>> On Wed, Jun 09, 2021 at 08:34:27AM +0200, Thomas Hellström wrote:
>>> A couple of patches from Chris which implement pipelined migration and
>>> clears by atomically writing the PTEs in place before performing the
>>> actual blit.
>>>
>>> Some ww utilities mainly for the accompanying selftests added by Thomas,
>>> as well as modified the above patches for ww locking- and lmem support.
>>>
>>> The actual hook up to the i915 ttm backend is being worked on and not
>>> included yet, so this is considered to be an early review opportunity.
>>>
>>> v2:
>>> - A couple of minor style fixes pointed out by Matthew Auld
>>> - Export and use intel_engine_destroy_pinned_context() to address a
>>> ls   CI warning / failure.
>> Just to check my understanding of the plan: These are the new windowed
>> clear/blt functions which we plan to use everywhere, because less nasty
>> locking implications? And the clear/blt we currently have in upstream 
>> will
>> be replaced?
> 
> Yes. These are for LMEM clearing and migration. It looks to me like the 
> other ones we have in upstream are actually unused except for selftests. 
> We're actually using CPU clearing for now.
> 
>>
>> If so would be nice if this patch set includes that replacement work (I
>> think right now all we have is the clear for lmem), including updating of
>> selftests and stuff like that. Just to avoid having two ways to do the
>> same thing in the driver.
> 
> OK, I'll have a look at stripping the existing code. If we need it 
> moving forward, we can always re-add.

Some low hanging fruit would be all the client_blt stuff which can for 
sure be deleted now.

> 
> /Thomas
> 
> 
>> -Daniel
>>
>>> Chris Wilson (6):
>>>    drm/i915/gt: Add an insert_entry for gen8_ppgtt
>>>    drm/i915/gt: Add a routine to iterate over the pagetables of a GTT
>>>    drm/i915/gt: Export the pinned context constructor and destructor
>>>    drm/i915/gt: Pipelined page migration
>>>    drm/i915/gt: Pipelined clear
>>>    drm/i915/gt: Setup a default migration context on the GT
>>>
>>> Thomas Hellström (3):
>>>    drm/i915: Reference objects on the ww object list
>>>    drm/i915: Break out dma_resv ww locking utilities to separate files
>>>    drm/i915: Introduce a ww transaction helper
>>>
>>>   drivers/gpu/drm/i915/Makefile                 |   2 +
>>>   drivers/gpu/drm/i915/gem/i915_gem_object.h    |   9 +-
>>>   drivers/gpu/drm/i915/gt/gen8_ppgtt.c          |  68 ++
>>>   drivers/gpu/drm/i915/gt/intel_engine.h        |  12 +
>>>   drivers/gpu/drm/i915/gt/intel_engine_cs.c     |  27 +-
>>>   drivers/gpu/drm/i915/gt/intel_gpu_commands.h  |   2 +
>>>   drivers/gpu/drm/i915/gt/intel_gt.c            |   4 +
>>>   drivers/gpu/drm/i915/gt/intel_gt_types.h      |   3 +
>>>   drivers/gpu/drm/i915/gt/intel_gtt.h           |   7 +
>>>   drivers/gpu/drm/i915/gt/intel_migrate.c       | 685 ++++++++++++++++++
>>>   drivers/gpu/drm/i915/gt/intel_migrate.h       |  65 ++
>>>   drivers/gpu/drm/i915/gt/intel_migrate_types.h |  15 +
>>>   drivers/gpu/drm/i915/gt/intel_renderstate.h   |   1 +
>>>   drivers/gpu/drm/i915/gt/intel_ring.h          |   1 +
>>>   drivers/gpu/drm/i915/gt/selftest_migrate.c    | 671 +++++++++++++++++
>>>   drivers/gpu/drm/i915/i915_gem.c               |  52 --
>>>   drivers/gpu/drm/i915/i915_gem.h               |  12 -
>>>   drivers/gpu/drm/i915/i915_gem_ww.c            |  63 ++
>>>   drivers/gpu/drm/i915/i915_gem_ww.h            |  50 ++
>>>   .../drm/i915/selftests/i915_live_selftests.h  |   1 +
>>>   .../drm/i915/selftests/i915_perf_selftests.h  |   1 +
>>>   21 files changed, 1675 insertions(+), 76 deletions(-)
>>>   create mode 100644 drivers/gpu/drm/i915/gt/intel_migrate.c
>>>   create mode 100644 drivers/gpu/drm/i915/gt/intel_migrate.h
>>>   create mode 100644 drivers/gpu/drm/i915/gt/intel_migrate_types.h
>>>   create mode 100644 drivers/gpu/drm/i915/gt/selftest_migrate.c
>>>   create mode 100644 drivers/gpu/drm/i915/i915_gem_ww.c
>>>   create mode 100644 drivers/gpu/drm/i915/i915_gem_ww.h
>>>
>>> -- 
>>> 2.31.1
>>>
>>> _______________________________________________
>>> Intel-gfx mailing list
>>> Intel-gfx at lists.freedesktop.org
>>> https://lists.freedesktop.org/mailman/listinfo/intel-gfx


More information about the Intel-gfx mailing list