All of lore.kernel.org
 help / color / mirror / Atom feed
From: Matthew Auld <matthew.auld@intel.com>
To: "Thomas Hellström" <thomas.hellstrom@linux.intel.com>,
	"Daniel Vetter" <daniel@ffwll.ch>
Cc: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org
Subject: Re: [Intel-gfx] [PATCH v2 0/9] Prereqs for TTM accelerated migration
Date: Wed, 9 Jun 2021 13:20:53 +0100	[thread overview]
Message-ID: <4d570a5b-0ea7-71ab-5082-e67f0cd668a7@intel.com> (raw)
In-Reply-To: <9f38fc28-15fb-2736-ba01-503821fdbe54@linux.intel.com>

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@lists.freedesktop.org
>>> https://lists.freedesktop.org/mailman/listinfo/intel-gfx

WARNING: multiple messages have this Message-ID (diff)
From: Matthew Auld <matthew.auld@intel.com>
To: "Thomas Hellström" <thomas.hellstrom@linux.intel.com>,
	"Daniel Vetter" <daniel@ffwll.ch>
Cc: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org
Subject: Re: [Intel-gfx] [PATCH v2 0/9] Prereqs for TTM accelerated migration
Date: Wed, 9 Jun 2021 13:20:53 +0100	[thread overview]
Message-ID: <4d570a5b-0ea7-71ab-5082-e67f0cd668a7@intel.com> (raw)
In-Reply-To: <9f38fc28-15fb-2736-ba01-503821fdbe54@linux.intel.com>

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@lists.freedesktop.org
>>> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

  reply	other threads:[~2021-06-09 12:21 UTC|newest]

Thread overview: 50+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-09  6:34 [PATCH v2 0/9] Prereqs for TTM accelerated migration Thomas Hellström
2021-06-09  6:34 ` [Intel-gfx] " Thomas Hellström
2021-06-09  6:34 ` [PATCH v2 1/9] drm/i915: Reference objects on the ww object list Thomas Hellström
2021-06-09  6:34   ` [Intel-gfx] " Thomas Hellström
2021-06-09  6:34 ` [PATCH v2 2/9] drm/i915: Break out dma_resv ww locking utilities to separate files Thomas Hellström
2021-06-09  6:34   ` [Intel-gfx] " Thomas Hellström
2021-06-09  6:34 ` [PATCH v2 3/9] drm/i915: Introduce a ww transaction helper Thomas Hellström
2021-06-09  6:34   ` [Intel-gfx] " Thomas Hellström
2021-06-09  6:34 ` [PATCH v2 4/9] drm/i915/gt: Add an insert_entry for gen8_ppgtt Thomas Hellström
2021-06-09  6:34   ` [Intel-gfx] " Thomas Hellström
2021-06-09  7:44   ` Matthew Auld
2021-06-09  7:44     ` [Intel-gfx] " Matthew Auld
2021-06-09  6:34 ` [PATCH v2 5/9] drm/i915/gt: Add a routine to iterate over the pagetables of a GTT Thomas Hellström
2021-06-09  6:34   ` [Intel-gfx] " Thomas Hellström
2021-06-09  7:48   ` Matthew Auld
2021-06-09  7:48     ` [Intel-gfx] " Matthew Auld
2021-06-09  6:34 ` [PATCH v2 6/9] drm/i915/gt: Export the pinned context constructor and destructor Thomas Hellström
2021-06-09  6:34   ` [Intel-gfx] " Thomas Hellström
2021-06-09  8:00   ` Matthew Auld
2021-06-09  8:00     ` [Intel-gfx] " Matthew Auld
2021-06-09  6:34 ` [PATCH v2 7/9] drm/i915/gt: Pipelined page migration Thomas Hellström
2021-06-09  6:34   ` [Intel-gfx] " Thomas Hellström
2021-06-09 12:14   ` Matthew Auld
2021-06-09 12:14     ` [Intel-gfx] " Matthew Auld
2021-06-09 12:48   ` Matthew Auld
2021-06-09 12:48     ` [Intel-gfx] " Matthew Auld
2021-06-09  6:34 ` [PATCH v2 8/9] drm/i915/gt: Pipelined clear Thomas Hellström
2021-06-09  6:34   ` [Intel-gfx] " Thomas Hellström
2021-06-09 13:42   ` Matthew Auld
2021-06-09 13:42     ` [Intel-gfx] " Matthew Auld
2021-06-09  6:34 ` [PATCH v2 9/9] drm/i915/gt: Setup a default migration context on the GT Thomas Hellström
2021-06-09  6:34   ` [Intel-gfx] " Thomas Hellström
2021-06-09 14:17   ` Matthew Auld
2021-06-09 14:17     ` [Intel-gfx] " Matthew Auld
2021-06-09  7:54 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for Prereqs for TTM accelerated migration (rev2) Patchwork
2021-06-09  8:23 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2021-06-09  8:23 ` [Intel-gfx] ✗ Fi.CI.BUILD: warning " Patchwork
2021-06-09  9:56 ` [Intel-gfx] ✓ Fi.CI.IGT: success " Patchwork
2021-06-09 11:48 ` [Intel-gfx] [PATCH v2 0/9] Prereqs for TTM accelerated migration Daniel Vetter
2021-06-09 11:48   ` Daniel Vetter
2021-06-09 12:16   ` Thomas Hellström
2021-06-09 12:16     ` Thomas Hellström
2021-06-09 12:20     ` Matthew Auld [this message]
2021-06-09 12:20       ` Matthew Auld
2021-06-09 13:08       ` Thomas Hellström
2021-06-09 13:08         ` Thomas Hellström
2021-06-09 14:35         ` Thomas Hellström
2021-06-09 14:35           ` Thomas Hellström
2021-06-09 14:54           ` Daniel Vetter
2021-06-09 14:54             ` Daniel Vetter

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4d570a5b-0ea7-71ab-5082-e67f0cd668a7@intel.com \
    --to=matthew.auld@intel.com \
    --cc=daniel@ffwll.ch \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=thomas.hellstrom@linux.intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.