From: Joonas Lahtinen <jlahtine@jlahtine-mobl.ger.corp.intel.com>
To: Dave Airlie <airlied@gmail.com>, Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: dim-tools@lists.freedesktop.org, dri-devel@lists.freedesktop.org,
Rodrigo Vivi <rodrigo.vivi@intel.com>,
Sean Paul <sean@poorly.run>,
intel-gfx@lists.freedesktop.org
Subject: [PULL] drm-intel-gt-next
Date: Mon, 7 Sep 2020 16:00:39 +0300 [thread overview]
Message-ID: <20200907130039.GA27766@jlahtine-mobl.ger.corp.intel.com> (raw)
Hi Dave & Daniel,
Exactly same content as previous PR:
https://lists.freedesktop.org/archives/intel-gfx/2020-September/247626.html
Just rebased adding the missing S-o-b:s and updated "Fixes:" tags accordingly
as requested.
Regards, Joonas
***
drm-intel-gt-next-2020-09-07:
(Same content as drm-intel-gt-next-2020-09-04-3, S-o-b's added)
UAPI Changes:
(- Potential implicit changes from WW locking refactoring)
Cross-subsystem Changes:
(- WW locking changes should align the i915 locking more with others)
Driver Changes:
- MAJOR: Apply WW locking across the driver (Maarten)
- Reverts for 5 commits to make applying WW locking faster (Maarten)
- Disable preparser around invalidations on Tigerlake for non-RCS engines (Chris)
- Add missing dma_fence_put() for error case of syncobj timeline (Chris)
- Parse command buffer earlier in eb_relocate(slow) to facilitate backoff (Maarten)
- Pin engine before pinning all objects (Maarten)
- Rework intel_context pinning to do everything outside of pin_mutex (Maarten)
- Avoid tracking GEM context until registered (Cc: stable, Chris)
- Provide a fastpath for waiting on vma bindings (Chris)
- Fixes to preempt-to-busy mechanism (Chris)
- Distinguish the virtual breadcrumbs from the irq breadcrumbs (Chris)
- Switch to object allocations for page directories (Chris)
- Hold context/request reference while breadcrumbs are active (Chris)
- Make sure execbuffer always passes ww state to i915_vma_pin (Maarten)
- Code refactoring to facilitate use of WW locking (Maarten)
- Locking refactoring to use more granular locking (Maarten, Chris)
- Support for multiple pinned timelines per engine (Chris)
- Move complication of I915_GEM_THROTTLE to the ioctl from general code (Chris)
- Make active tracking/vma page-directory stash work preallocated (Chris)
- Avoid flushing submission tasklet too often (Chris)
- Reduce context termination list iteration guard to RCU (Chris)
- Reductions to locking contention (Chris)
- Fixes for issues found by CI (Chris)
The following changes since commit 3393649977f9a8847c659e282ea290d4b703295c:
Merge tag 'drm-intel-next-2020-08-24-1' of git://anongit.freedesktop.org/drm/drm-intel into drm-next (2020-08-28 14:09:31 +1000)
are available in the Git repository at:
git://anongit.freedesktop.org/drm/drm-intel tags/drm-intel-gt-next-2020-09-07
for you to fetch changes up to e0ee152fce25dc9269c7ea5280c98aa4b3682759:
drm/i915: Unlock the shared hwsp_gtt object after pinning (2020-09-07 15:08:11 +0300)
----------------------------------------------------------------
(Same content as drm-intel-gt-next-2020-09-04-3, S-o-b's added)
UAPI Changes:
(- Potential implicit changes from WW locking refactoring)
Cross-subsystem Changes:
(- WW locking changes should align the i915 locking more with others)
Driver Changes:
- MAJOR: Apply WW locking across the driver (Maarten)
- Reverts for 5 commits to make applying WW locking faster (Maarten)
- Disable preparser around invalidations on Tigerlake for non-RCS engines (Chris)
- Add missing dma_fence_put() for error case of syncobj timeline (Chris)
- Parse command buffer earlier in eb_relocate(slow) to facilitate backoff (Maarten)
- Pin engine before pinning all objects (Maarten)
- Rework intel_context pinning to do everything outside of pin_mutex (Maarten)
- Avoid tracking GEM context until registered (Cc: stable, Chris)
- Provide a fastpath for waiting on vma bindings (Chris)
- Fixes to preempt-to-busy mechanism (Chris)
- Distinguish the virtual breadcrumbs from the irq breadcrumbs (Chris)
- Switch to object allocations for page directories (Chris)
- Hold context/request reference while breadcrumbs are active (Chris)
- Make sure execbuffer always passes ww state to i915_vma_pin (Maarten)
- Code refactoring to facilitate use of WW locking (Maarten)
- Locking refactoring to use more granular locking (Maarten, Chris)
- Support for multiple pinned timelines per engine (Chris)
- Move complication of I915_GEM_THROTTLE to the ioctl from general code (Chris)
- Make active tracking/vma page-directory stash work preallocated (Chris)
- Avoid flushing submission tasklet too often (Chris)
- Reduce context termination list iteration guard to RCU (Chris)
- Reductions to locking contention (Chris)
- Fixes for issues found by CI (Chris)
----------------------------------------------------------------
Chris Wilson (33):
drm/i915: Reduce i915_request.lock contention for i915_request_wait
drm/i915/selftests: Mock the status_page.vma for the kernel_context
drm/i915: Soften the tasklet flush frequency before waits
drm/i915/gem: Remove disordered per-file request list for throttling
drm/i915/gt: Disable preparser around xcs invalidations on tgl
drm/i915/gt: Delay taking the spinlock for grabbing from the buffer pool
drm/i915/selftests: Flush the active barriers before asserting
drm/i915/gt: Fix termination condition for freeing all buffer objects
drm/i915/gem: Delay tracking the GEM context until it is registered
drm/i915/gt: Support multiple pinned timelines
drm/i915/gt: Pull release of node->age under the spinlock
drm/i915/selftests: Drop stale timeline constructor assert
drm/i915: Skip taking acquire mutex for no ref->active callback
drm/i915: Export a preallocate variant of i915_active_acquire()
drm/i915: Keep the most recently used active-fence upon discard
drm/i915: Make the stale cached active node available for any timeline
drm/i915: Reduce locking around i915_active_acquire_preallocate_barrier()
drm/i915: Provide a fastpath for waiting on vma bindings
drm/i915: Remove requirement for holding i915_request.lock for breadcrumbs
drm/i915/gt: Replace intel_engine_transfer_stale_breadcrumbs
drm/i915/gt: Only transfer the virtual context to the new engine if active
drm/i915/gt: Distinguish the virtual breadcrumbs from the irq breadcrumbs
drm/i915: Preallocate stashes for vma page-directories
drm/i915/gt: Switch to object allocations for page directories
drm/i915/gt: Shrink i915_page_directory's slab bucket
drm/i915/gt: Move intel_breadcrumbs_arm_irq earlier
drm/i915/gt: Hold context/request reference while breadcrumbs are active
drm/i915/selftests: Prevent selecting 0 for our random width/align
drm/i915/gem: Reduce context termination list iteration guard to RCU
drm/i915/gem: Free the fence after a fence-chain lookup failure
drm/i915: Be wary of data races when reading the active execlists
drm/i915: Remove i915_request.lock requirement for execution callbacks
drm/i915: Filter wake_flags passed to default_wake_function
Maarten Lankhorst (23):
Revert "drm/i915/gem: Async GPU relocations only"
drm/i915: Revert relocation chaining commits.
Revert "drm/i915/gem: Drop relocation slowpath".
Revert "drm/i915/gem: Split eb_vma into its own allocation"
drm/i915: Add an implementation for i915_gem_ww_ctx locking, v2.
drm/i915: Remove locking from i915_gem_object_prepare_read/write
drm/i915: Parse command buffer earlier in eb_relocate(slow)
drm/i915: Use per object locking in execbuf, v12.
drm/i915: Use ww locking in intel_renderstate.
drm/i915: Add ww context handling to context_barrier_task
drm/i915: Nuke arguments to eb_pin_engine
drm/i915: Pin engine before pinning all objects, v5.
drm/i915: Rework intel_context pinning to do everything outside of pin_mutex
drm/i915: Make sure execbuffer always passes ww state to i915_vma_pin.
drm/i915: Convert i915_gem_object/client_blt.c to use ww locking as well, v2.
drm/i915: Kill last user of intel_context_create_request outside of selftests
drm/i915: Convert i915_perf to ww locking as well
drm/i915: Dirty hack to fix selftests locking inversion
drm/i915/selftests: Fix locking inversion in lrc selftest.
drm/i915: Use ww pinning for intel_context_create_request()
drm/i915: Move i915_vma_lock in the selftests to avoid lock inversion, v3.
drm/i915: Add ww locking to vm_fault_gtt
drm/i915: Add ww locking to pin_to_display_plane, v2.
Thomas Hellström (1):
drm/i915: Unlock the shared hwsp_gtt object after pinning
drivers/gpu/drm/i915/display/intel_display.c | 6 +-
drivers/gpu/drm/i915/gem/i915_gem_client_blt.c | 89 +-
drivers/gpu/drm/i915/gem/i915_gem_context.c | 105 +-
drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c | 4 +-
drivers/gpu/drm/i915/gem/i915_gem_domain.c | 80 +-
drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c | 1601 +++++++++++++-------
drivers/gpu/drm/i915/gem/i915_gem_mman.c | 51 +-
drivers/gpu/drm/i915/gem/i915_gem_object.h | 40 +-
drivers/gpu/drm/i915/gem/i915_gem_object_blt.c | 152 +-
drivers/gpu/drm/i915/gem/i915_gem_object_blt.h | 3 +
drivers/gpu/drm/i915/gem/i915_gem_object_types.h | 10 +
drivers/gpu/drm/i915/gem/i915_gem_pm.c | 2 +-
drivers/gpu/drm/i915/gem/i915_gem_throttle.c | 67 +-
drivers/gpu/drm/i915/gem/i915_gem_tiling.c | 2 +-
drivers/gpu/drm/i915/gem/selftests/huge_pages.c | 9 +-
.../drm/i915/gem/selftests/i915_gem_client_blt.c | 2 +-
.../drm/i915/gem/selftests/i915_gem_coherency.c | 50 +-
.../gpu/drm/i915/gem/selftests/i915_gem_context.c | 144 +-
.../drm/i915/gem/selftests/i915_gem_execbuffer.c | 60 +-
drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c | 45 +-
drivers/gpu/drm/i915/gem/selftests/i915_gem_phys.c | 2 +-
drivers/gpu/drm/i915/gt/gen6_ppgtt.c | 106 +-
drivers/gpu/drm/i915/gt/gen6_ppgtt.h | 5 +-
drivers/gpu/drm/i915/gt/gen8_ppgtt.c | 181 +--
drivers/gpu/drm/i915/gt/intel_breadcrumbs.c | 305 ++--
drivers/gpu/drm/i915/gt/intel_breadcrumbs.h | 36 +
drivers/gpu/drm/i915/gt/intel_breadcrumbs_types.h | 47 +
drivers/gpu/drm/i915/gt/intel_context.c | 318 ++--
drivers/gpu/drm/i915/gt/intel_context.h | 13 +
drivers/gpu/drm/i915/gt/intel_context_types.h | 5 +-
drivers/gpu/drm/i915/gt/intel_engine.h | 20 -
drivers/gpu/drm/i915/gt/intel_engine_cs.c | 34 +-
drivers/gpu/drm/i915/gt/intel_engine_pm.c | 3 +-
drivers/gpu/drm/i915/gt/intel_engine_types.h | 31 +-
drivers/gpu/drm/i915/gt/intel_ggtt.c | 97 +-
drivers/gpu/drm/i915/gt/intel_gt.c | 23 +-
drivers/gpu/drm/i915/gt/intel_gt_buffer_pool.c | 103 +-
.../gpu/drm/i915/gt/intel_gt_buffer_pool_types.h | 6 +-
drivers/gpu/drm/i915/gt/intel_gt_irq.c | 1 +
drivers/gpu/drm/i915/gt/intel_gtt.c | 300 +---
drivers/gpu/drm/i915/gt/intel_gtt.h | 142 +-
drivers/gpu/drm/i915/gt/intel_lrc.c | 182 ++-
drivers/gpu/drm/i915/gt/intel_ppgtt.c | 150 +-
drivers/gpu/drm/i915/gt/intel_renderstate.c | 73 +-
drivers/gpu/drm/i915/gt/intel_renderstate.h | 9 +-
drivers/gpu/drm/i915/gt/intel_reset.c | 1 +
drivers/gpu/drm/i915/gt/intel_ring.c | 10 +-
drivers/gpu/drm/i915/gt/intel_ring.h | 3 +-
drivers/gpu/drm/i915/gt/intel_ring_submission.c | 42 +-
drivers/gpu/drm/i915/gt/intel_rps.c | 1 +
drivers/gpu/drm/i915/gt/intel_timeline.c | 28 +-
drivers/gpu/drm/i915/gt/intel_timeline.h | 24 +-
drivers/gpu/drm/i915/gt/intel_workarounds.c | 43 +-
drivers/gpu/drm/i915/gt/mock_engine.c | 30 +-
drivers/gpu/drm/i915/gt/selftest_context.c | 2 +
drivers/gpu/drm/i915/gt/selftest_lrc.c | 22 +-
drivers/gpu/drm/i915/gt/selftest_rps.c | 30 +-
drivers/gpu/drm/i915/gt/selftest_timeline.c | 10 +-
drivers/gpu/drm/i915/gt/selftest_workarounds.c | 2 +-
drivers/gpu/drm/i915/gt/uc/intel_guc.c | 2 +-
drivers/gpu/drm/i915/gvt/cmd_parser.c | 3 +-
drivers/gpu/drm/i915/gvt/scheduler.c | 17 +-
drivers/gpu/drm/i915/i915_active.c | 237 ++-
drivers/gpu/drm/i915/i915_active.h | 31 +-
drivers/gpu/drm/i915/i915_drv.c | 2 +-
drivers/gpu/drm/i915/i915_drv.h | 24 +-
drivers/gpu/drm/i915/i915_gem.c | 107 +-
drivers/gpu/drm/i915/i915_gem.h | 12 +
drivers/gpu/drm/i915/i915_irq.c | 1 +
drivers/gpu/drm/i915/i915_perf.c | 57 +-
drivers/gpu/drm/i915/i915_request.c | 224 +--
drivers/gpu/drm/i915/i915_request.h | 8 -
drivers/gpu/drm/i915/i915_sw_fence.c | 10 +-
drivers/gpu/drm/i915/i915_vma.c | 65 +-
drivers/gpu/drm/i915/i915_vma.h | 13 +-
drivers/gpu/drm/i915/selftests/i915_gem.c | 41 +
drivers/gpu/drm/i915/selftests/i915_gem_gtt.c | 75 +-
drivers/gpu/drm/i915/selftests/i915_perf.c | 4 +-
drivers/gpu/drm/i915/selftests/i915_request.c | 18 +-
drivers/gpu/drm/i915/selftests/i915_vma.c | 2 +-
.../gpu/drm/i915/selftests/intel_memory_region.c | 8 +-
drivers/gpu/drm/i915/selftests/mock_gtt.c | 26 +-
82 files changed, 3743 insertions(+), 2206 deletions(-)
create mode 100644 drivers/gpu/drm/i915/gt/intel_breadcrumbs.h
create mode 100644 drivers/gpu/drm/i915/gt/intel_breadcrumbs_types.h
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
next reply other threads:[~2020-09-07 13:00 UTC|newest]
Thread overview: 62+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-09-07 13:00 Joonas Lahtinen [this message]
-- strict thread matches above, loose matches on Subject: below --
2024-04-26 7:17 [PULL] drm-intel-gt-next Joonas Lahtinen
2024-02-28 14:02 Tvrtko Ursulin
2024-02-15 10:06 Tvrtko Ursulin
2024-02-16 2:58 ` Dave Airlie
2024-02-16 9:31 ` Thomas Hellström
2024-02-16 9:33 ` Thomas Hellström
2024-02-16 9:41 ` Joonas Lahtinen
2024-02-20 15:14 ` Joonas Lahtinen
2023-12-15 12:11 Joonas Lahtinen
2023-12-08 16:18 Joonas Lahtinen
2023-10-19 14:54 Tvrtko Ursulin
2023-10-12 10:30 Tvrtko Ursulin
2023-09-28 12:36 Tvrtko Ursulin
2023-08-11 10:47 Joonas Lahtinen
2023-08-04 8:45 Joonas Lahtinen
2023-06-08 15:34 Tvrtko Ursulin
2023-05-24 18:09 Tvrtko Ursulin
2023-04-06 11:41 Maarten Lankhorst
2023-04-06 12:34 ` Jani Nikula
2023-04-06 13:00 ` Daniel Vetter
2023-04-06 8:18 Joonas Lahtinen
2023-04-06 12:38 ` Daniel Vetter
2023-03-16 12:58 Joonas Lahtinen
2023-02-01 11:36 Tvrtko Ursulin
2023-01-18 11:24 Tvrtko Ursulin
2023-01-24 15:32 ` Daniel Vetter
2022-11-18 9:12 Joonas Lahtinen
2022-11-03 8:03 Joonas Lahtinen
2022-10-31 11:07 Joonas Lahtinen
2022-11-01 19:33 ` Dave Airlie
2022-09-16 8:47 Joonas Lahtinen
2022-09-09 11:20 Joonas Lahtinen
2022-08-24 12:01 Joonas Lahtinen
2022-07-13 21:31 Rodrigo Vivi
2022-07-21 15:06 ` Vivi, Rodrigo
2022-06-29 10:45 Tvrtko Ursulin
2022-05-05 6:39 Tvrtko Ursulin
2022-04-27 10:49 Tvrtko Ursulin
2022-03-03 7:50 Joonas Lahtinen
2022-02-17 10:26 Joonas Lahtinen
2022-02-20 23:30 ` Dave Airlie
2022-02-21 9:21 ` Jani Nikula
2022-02-22 19:44 ` Lucas De Marchi
2022-02-23 20:35 ` Vivi, Rodrigo
2021-12-23 12:47 Tvrtko Ursulin
2021-12-09 13:14 Tvrtko Ursulin
2021-10-21 13:07 Joonas Lahtinen
2021-10-08 9:27 Joonas Lahtinen
2021-08-06 10:06 Joonas Lahtinen
2021-08-06 10:10 ` Joonas Lahtinen
2021-06-10 9:40 Joonas Lahtinen
2021-05-28 7:25 Joonas Lahtinen
2021-05-28 7:27 ` Joonas Lahtinen
2021-06-02 0:28 ` Dave Airlie
2021-06-02 4:17 ` Dave Airlie
2021-06-02 4:30 ` Dave Airlie
2021-04-06 13:40 Joonas Lahtinen
2021-01-21 15:07 Joonas Lahtinen
2021-01-14 15:22 Joonas Lahtinen
2020-11-12 16:34 Joonas Lahtinen
2020-09-04 13:39 Joonas Lahtinen
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=20200907130039.GA27766@jlahtine-mobl.ger.corp.intel.com \
--to=jlahtine@jlahtine-mobl.ger.corp.intel.com \
--cc=airlied@gmail.com \
--cc=daniel.vetter@ffwll.ch \
--cc=dim-tools@lists.freedesktop.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=intel-gfx@lists.freedesktop.org \
--cc=rodrigo.vivi@intel.com \
--cc=sean@poorly.run \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).