All of lore.kernel.org
 help / color / mirror / Atom feed
From: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
To: intel-gfx@lists.freedesktop.org
Subject: [Intel-gfx] [PATCH v3 00/63] drm/i915: Remove obj->mm.lock!
Date: Thu, 15 Oct 2020 13:25:24 +0200	[thread overview]
Message-ID: <20201015112627.1142745-1-maarten.lankhorst@linux.intel.com> (raw)

Finally there, just needs a lot of fixes!

A lot of places were calling certain calls without any object lock held,
with the removal of mm.lock we can no longer do this, and have to fix it.

Phys page handling has to be redone, as nothing protects obj->ops structure,
we have to remove swapping it, and move HAS_STRUCT_PAGE to obj->flags instead.

Userpointer locking is inverted, which we tried to get around with a workqueue.
We correct the lock ordering and try to acquire userptr pages first before taking
any ww locks. This is more compatible with the locking hierarchy, as we may need
to acquire mmap_sem.

The previous versione broke gem_exec_schedule@pi-shared/distinct-iova, but
now that we only unbind when required, this is now fixed.

We also have to fix some dma-work, the command parser and clflush are slightly
reworked to put all memory allocations and pinning in the preparation,
so the work could pass fence annotations.

In a few places like igt_spinner and execlists, we move some part of init to the
first pin, because we need to have the ww lock held and it makes it easier that way.

Finally we convert all selftests, and then remove obj->mm.lock!

Previous version had some issues with hwsp, those are now fixed. A memset was
missing, and has been re-added.

Some issues with userptr double lock popped up. Userptr notifier_lock
is now a spinlock as it should only be held for very short amounts of time
and sleeping is not allowed, and now correctly unlocked when invalidating.

This should fix the remaining test issues.

Test-with: 160251050446.31911.17220822522975733973@emeril.freedesktop.org

Maarten Lankhorst (62):
  drm/i915: Move cmd parser pinning to execbuffer
  drm/i915: Add missing -EDEADLK handling to execbuf pinning
  drm/i915: Do not share hwsp across contexts any more, v3.
  drm/i915: Pin timeline map after first timeline pin, v3.
  drm/i915: Ensure we hold the object mutex in pin correctly.
  drm/i915: Add gem object locking to madvise.
  drm/i915: Move HAS_STRUCT_PAGE to obj->flags
  drm/i915: Rework struct phys attachment handling
  drm/i915: Convert i915_gem_object_attach_phys() to ww locking
  drm/i915: make lockdep slightly happier about execbuf.
  drm/i915: Disable userptr pread/pwrite support.
  drm/i915: No longer allow exporting userptr through dma-buf
  drm/i915: Reject more ioctls for userptr
  drm/i915: Reject UNSYNCHRONIZED for userptr
  drm/i915: Fix userptr so we do not have to worry about obj->mm.lock,
    v3.
  drm/i915: Flatten obj->mm.lock
  drm/i915: Populate logical context during first pin.
  drm/i915: Make ring submission compatible with obj->mm.lock removal,
    v2.
  drm/i915: Handle ww locking in init_status_page
  drm/i915: Rework clflush to work correctly without obj->mm.lock.
  drm/i915: Pass ww ctx to intel_pin_to_display_plane
  drm/i915: Add object locking to vm_fault_cpu
  drm/i915: Move pinning to inside engine_wa_list_verify()
  drm/i915: Take reservation lock around i915_vma_pin.
  drm/i915: Make intel_init_workaround_bb more compatible with ww
    locking.
  drm/i915: Make __engine_unpark() compatible with ww locking.
  drm/i915: Take obj lock around set_domain ioctl
  drm/i915: Defer pin calls in buffer pool until first use by caller.
  drm/i915: Fix pread/pwrite to work with new locking rules.
  drm/i915: Fix workarounds selftest, part 1
  drm/i915: Add igt_spinner_pin() to allow for ww locking around
    spinner.
  drm/i915: Add ww locking around vm_access()
  drm/i915: Increase ww locking for perf.
  drm/i915: Lock ww in ucode objects correctly
  drm/i915: Add ww locking to dma-buf ops.
  drm/i915: Add missing ww lock in intel_dsb_prepare.
  drm/i915: Fix ww locking in shmem_create_from_object
  drm/i915: Use a single page table lock for each gtt.
  drm/i915/selftests: Prepare huge_pages testcases for obj->mm.lock
    removal.
  drm/i915/selftests: Prepare client blit for obj->mm.lock removal.
  drm/i915/selftests: Prepare coherency tests for obj->mm.lock removal.
  drm/i915/selftests: Prepare context tests for obj->mm.lock removal.
  drm/i915/selftests: Prepare dma-buf tests for obj->mm.lock removal.
  drm/i915/selftests: Prepare execbuf tests for obj->mm.lock removal.
  drm/i915/selftests: Prepare mman testcases for obj->mm.lock removal.
  drm/i915/selftests: Prepare object tests for obj->mm.lock removal.
  drm/i915/selftests: Prepare object blit tests for obj->mm.lock
    removal.
  drm/i915/selftests: Prepare igt_gem_utils for obj->mm.lock removal
  drm/i915/selftests: Prepare context selftest for obj->mm.lock removal
  drm/i915/selftests: Prepare hangcheck for obj->mm.lock removal
  drm/i915/selftests: Prepare execlists for obj->mm.lock removal
  drm/i915/selftests: Prepare mocs tests for obj->mm.lock removal
  drm/i915/selftests: Prepare ring submission for obj->mm.lock removal
  drm/i915/selftests: Prepare timeline tests for obj->mm.lock removal
  drm/i915/selftests: Prepare i915_request tests for obj->mm.lock
    removal
  drm/i915/selftests: Prepare memory region tests for obj->mm.lock
    removal
  drm/i915/selftests: Prepare cs engine tests for obj->mm.lock removal
  drm/i915/selftests: Prepare gtt tests for obj->mm.lock removal
  drm/i915: Finally remove obj->mm.lock.
  drm/i915: Keep userpointer bindings if seqcount is unchanged, v2.
  drm/i915: Idea to implement eviction locking
  drm/i915: Keep lazy reference to userptr pages

Thomas Hellström (1):
  drm/i915: Prepare for obj->mm.lock removal

 drivers/gpu/drm/i915/Makefile                 |   1 -
 drivers/gpu/drm/i915/display/intel_display.c  |  71 +-
 drivers/gpu/drm/i915/display/intel_display.h  |   2 +-
 drivers/gpu/drm/i915/display/intel_dsb.c      |   2 +-
 drivers/gpu/drm/i915/display/intel_fbdev.c    |   2 +-
 drivers/gpu/drm/i915/display/intel_overlay.c  |  34 +-
 drivers/gpu/drm/i915/gem/i915_gem_clflush.c   |  15 +-
 drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c    |  62 +-
 drivers/gpu/drm/i915/gem/i915_gem_domain.c    |  51 +-
 .../gpu/drm/i915/gem/i915_gem_execbuffer.c    | 209 ++++-
 drivers/gpu/drm/i915/gem/i915_gem_fence.c     |  95 --
 drivers/gpu/drm/i915/gem/i915_gem_internal.c  |   6 +-
 drivers/gpu/drm/i915/gem/i915_gem_lmem.c      |   4 +-
 drivers/gpu/drm/i915/gem/i915_gem_mman.c      |  35 +-
 drivers/gpu/drm/i915/gem/i915_gem_object.c    |  10 +-
 drivers/gpu/drm/i915/gem/i915_gem_object.h    | 126 ++-
 .../gpu/drm/i915/gem/i915_gem_object_blt.c    |   6 +
 .../gpu/drm/i915/gem/i915_gem_object_types.h  |  23 +-
 drivers/gpu/drm/i915/gem/i915_gem_pages.c     | 104 ++-
 drivers/gpu/drm/i915/gem/i915_gem_phys.c      |  95 +-
 drivers/gpu/drm/i915/gem/i915_gem_region.c    |   4 +-
 drivers/gpu/drm/i915/gem/i915_gem_region.h    |   3 +-
 drivers/gpu/drm/i915/gem/i915_gem_shmem.c     |  18 +-
 drivers/gpu/drm/i915/gem/i915_gem_shrinker.c  |  47 +-
 drivers/gpu/drm/i915/gem/i915_gem_shrinker.h  |   4 +-
 drivers/gpu/drm/i915/gem/i915_gem_stolen.c    |  14 +-
 drivers/gpu/drm/i915/gem/i915_gem_tiling.c    |   2 -
 drivers/gpu/drm/i915/gem/i915_gem_userptr.c   | 875 ++++++------------
 .../drm/i915/gem/selftests/huge_gem_object.c  |   4 +-
 .../gpu/drm/i915/gem/selftests/huge_pages.c   |  38 +-
 .../i915/gem/selftests/i915_gem_client_blt.c  |   8 +-
 .../i915/gem/selftests/i915_gem_coherency.c   |  18 +-
 .../drm/i915/gem/selftests/i915_gem_context.c |  10 +-
 .../drm/i915/gem/selftests/i915_gem_dmabuf.c  |   2 +-
 .../i915/gem/selftests/i915_gem_execbuffer.c  |   2 +-
 .../drm/i915/gem/selftests/i915_gem_mman.c    |  21 +-
 .../drm/i915/gem/selftests/i915_gem_object.c  |   2 +-
 .../i915/gem/selftests/i915_gem_object_blt.c  |   6 +-
 .../drm/i915/gem/selftests/i915_gem_phys.c    |  10 +-
 .../drm/i915/gem/selftests/igt_gem_utils.c    |   2 +-
 drivers/gpu/drm/i915/gt/intel_context_types.h |  13 +-
 drivers/gpu/drm/i915/gt/intel_engine_cs.c     |  37 +-
 drivers/gpu/drm/i915/gt/intel_engine_pm.c     |   4 +-
 drivers/gpu/drm/i915/gt/intel_ggtt.c          |  10 +-
 .../gpu/drm/i915/gt/intel_gt_buffer_pool.c    |  47 +-
 .../gpu/drm/i915/gt/intel_gt_buffer_pool.h    |   5 +
 .../drm/i915/gt/intel_gt_buffer_pool_types.h  |   1 +
 drivers/gpu/drm/i915/gt/intel_gt_types.h      |   4 -
 drivers/gpu/drm/i915/gt/intel_gtt.c           |  38 +-
 drivers/gpu/drm/i915/gt/intel_gtt.h           |   5 +
 drivers/gpu/drm/i915/gt/intel_lrc.c           | 150 +--
 drivers/gpu/drm/i915/gt/intel_ppgtt.c         |   3 +-
 drivers/gpu/drm/i915/gt/intel_renderstate.c   |   2 +-
 .../gpu/drm/i915/gt/intel_ring_submission.c   | 184 ++--
 drivers/gpu/drm/i915/gt/intel_timeline.c      | 392 ++------
 drivers/gpu/drm/i915/gt/intel_timeline.h      |   2 +
 .../gpu/drm/i915/gt/intel_timeline_types.h    |  15 +-
 drivers/gpu/drm/i915/gt/intel_workarounds.c   |  24 +-
 drivers/gpu/drm/i915/gt/mock_engine.c         |  22 +-
 drivers/gpu/drm/i915/gt/selftest_context.c    |   4 +-
 drivers/gpu/drm/i915/gt/selftest_engine_cs.c  |   4 +-
 drivers/gpu/drm/i915/gt/selftest_hangcheck.c  |   8 +-
 drivers/gpu/drm/i915/gt/selftest_lrc.c        |  34 +-
 drivers/gpu/drm/i915/gt/selftest_mocs.c       |   2 +-
 .../drm/i915/gt/selftest_ring_submission.c    |   4 +-
 drivers/gpu/drm/i915/gt/selftest_timeline.c   |  98 +-
 .../gpu/drm/i915/gt/selftest_workarounds.c    | 101 +-
 drivers/gpu/drm/i915/gt/shmem_utils.c         |   2 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc.c        |   2 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_log.c    |   4 +-
 drivers/gpu/drm/i915/gt/uc/intel_huc.c        |   2 +-
 drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c      |   2 +-
 drivers/gpu/drm/i915/gvt/dmabuf.c             |   2 +-
 drivers/gpu/drm/i915/i915_active.c            |  20 +-
 drivers/gpu/drm/i915/i915_cmd_parser.c        | 104 +--
 drivers/gpu/drm/i915/i915_debugfs.c           |   4 +-
 drivers/gpu/drm/i915/i915_drv.h               |  18 +-
 drivers/gpu/drm/i915/i915_gem.c               | 298 +++---
 drivers/gpu/drm/i915/i915_gem.h               |   5 +-
 drivers/gpu/drm/i915/i915_gem_gtt.c           |   2 +-
 drivers/gpu/drm/i915/i915_memcpy.c            |   2 +-
 drivers/gpu/drm/i915/i915_memcpy.h            |   2 +-
 drivers/gpu/drm/i915/i915_perf.c              |  56 +-
 drivers/gpu/drm/i915/i915_request.c           |   4 -
 drivers/gpu/drm/i915/i915_request.h           |  10 -
 drivers/gpu/drm/i915/i915_selftest.h          |   2 +
 drivers/gpu/drm/i915/i915_vma.c               |  26 +-
 drivers/gpu/drm/i915/i915_vma.h               |  20 +-
 drivers/gpu/drm/i915/selftests/i915_gem_gtt.c |  94 +-
 drivers/gpu/drm/i915/selftests/i915_request.c |  10 +-
 drivers/gpu/drm/i915/selftests/igt_spinner.c  | 136 ++-
 drivers/gpu/drm/i915/selftests/igt_spinner.h  |   5 +
 .../drm/i915/selftests/intel_memory_region.c  |  18 +-
 drivers/gpu/drm/i915/selftests/mock_region.c  |   4 +-
 94 files changed, 2094 insertions(+), 2016 deletions(-)
 delete mode 100644 drivers/gpu/drm/i915/gem/i915_gem_fence.c


base-commit: 114b3ff35870623fbd7b7aa580e4b43c690edace
-- 
2.28.0
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

             reply	other threads:[~2020-10-15 11:26 UTC|newest]

Thread overview: 74+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-10-15 11:25 Maarten Lankhorst [this message]
2020-10-15 11:25 ` [Intel-gfx] [PATCH v3 01/63] drm/i915: Move cmd parser pinning to execbuffer Maarten Lankhorst
2020-10-15 11:25 ` [Intel-gfx] [PATCH v3 02/63] drm/i915: Add missing -EDEADLK handling to execbuf pinning Maarten Lankhorst
2020-10-15 11:25 ` [Intel-gfx] [PATCH v3 03/63] drm/i915: Do not share hwsp across contexts any more, v3 Maarten Lankhorst
2020-10-15 11:25 ` [Intel-gfx] [PATCH v3 04/63] drm/i915: Pin timeline map after first timeline pin, v3 Maarten Lankhorst
2020-10-27 11:03   ` Thomas Hellström (Intel)
2020-10-27 14:31     ` Maarten Lankhorst
2020-10-27 16:25       ` Thomas Hellström (Intel)
2020-10-27 18:10         ` Thomas Hellström (Intel)
2020-10-15 11:25 ` [Intel-gfx] [PATCH v3 05/63] drm/i915: Ensure we hold the object mutex in pin correctly Maarten Lankhorst
2020-10-27 11:07   ` Thomas Hellström (Intel)
2020-10-15 11:25 ` [Intel-gfx] [PATCH v3 06/63] drm/i915: Add gem object locking to madvise Maarten Lankhorst
2020-10-15 11:25 ` [Intel-gfx] [PATCH v3 07/63] drm/i915: Move HAS_STRUCT_PAGE to obj->flags Maarten Lankhorst
2020-10-15 11:25 ` [Intel-gfx] [PATCH v3 08/63] drm/i915: Rework struct phys attachment handling Maarten Lankhorst
2020-10-15 11:25 ` [Intel-gfx] [PATCH v3 09/63] drm/i915: Convert i915_gem_object_attach_phys() to ww locking Maarten Lankhorst
2020-10-15 11:25 ` [Intel-gfx] [PATCH v3 10/63] drm/i915: make lockdep slightly happier about execbuf Maarten Lankhorst
2020-10-15 11:25 ` [Intel-gfx] [PATCH v3 11/63] drm/i915: Disable userptr pread/pwrite support Maarten Lankhorst
2020-10-15 11:25 ` [Intel-gfx] [PATCH v3 12/63] drm/i915: No longer allow exporting userptr through dma-buf Maarten Lankhorst
2020-10-15 11:25 ` [Intel-gfx] [PATCH v3 13/63] drm/i915: Reject more ioctls for userptr Maarten Lankhorst
2020-10-15 11:25 ` [Intel-gfx] [PATCH v3 14/63] drm/i915: Reject UNSYNCHRONIZED " Maarten Lankhorst
2020-10-15 11:25 ` [Intel-gfx] [PATCH v3 15/63] drm/i915: Fix userptr so we do not have to worry about obj->mm.lock, v3 Maarten Lankhorst
2020-10-15 11:25 ` [Intel-gfx] [PATCH v3 16/63] drm/i915: Flatten obj->mm.lock Maarten Lankhorst
2020-10-15 11:25 ` [Intel-gfx] [PATCH v3 17/63] drm/i915: Populate logical context during first pin Maarten Lankhorst
2020-10-15 11:25 ` [Intel-gfx] [PATCH v3 18/63] drm/i915: Make ring submission compatible with obj->mm.lock removal, v2 Maarten Lankhorst
2020-10-15 11:25 ` [Intel-gfx] [PATCH v3 19/63] drm/i915: Handle ww locking in init_status_page Maarten Lankhorst
2020-10-15 11:25 ` [Intel-gfx] [PATCH v3 20/63] drm/i915: Rework clflush to work correctly without obj->mm.lock Maarten Lankhorst
2020-10-15 11:25 ` [Intel-gfx] [PATCH v3 21/63] drm/i915: Pass ww ctx to intel_pin_to_display_plane Maarten Lankhorst
2020-10-15 11:25 ` [Intel-gfx] [PATCH v3 22/63] drm/i915: Add object locking to vm_fault_cpu Maarten Lankhorst
2020-10-15 11:25 ` [Intel-gfx] [PATCH v3 23/63] drm/i915: Move pinning to inside engine_wa_list_verify() Maarten Lankhorst
2020-10-15 11:25 ` [Intel-gfx] [PATCH v3 24/63] drm/i915: Take reservation lock around i915_vma_pin Maarten Lankhorst
2020-10-15 11:25 ` [Intel-gfx] [PATCH v3 25/63] drm/i915: Make intel_init_workaround_bb more compatible with ww locking Maarten Lankhorst
2020-10-15 11:25 ` [Intel-gfx] [PATCH v3 26/63] drm/i915: Make __engine_unpark() " Maarten Lankhorst
2020-10-15 11:25 ` [Intel-gfx] [PATCH v3 27/63] drm/i915: Take obj lock around set_domain ioctl Maarten Lankhorst
2020-10-15 11:25 ` [Intel-gfx] [PATCH v3 28/63] drm/i915: Defer pin calls in buffer pool until first use by caller Maarten Lankhorst
2020-10-15 11:25 ` [Intel-gfx] [PATCH v3 29/63] drm/i915: Fix pread/pwrite to work with new locking rules Maarten Lankhorst
2020-10-15 11:25 ` [Intel-gfx] [PATCH v3 30/63] drm/i915: Fix workarounds selftest, part 1 Maarten Lankhorst
2020-10-15 11:25 ` [Intel-gfx] [PATCH v3 31/63] drm/i915: Prepare for obj->mm.lock removal Maarten Lankhorst
2020-10-15 11:25 ` [Intel-gfx] [PATCH v3 32/63] drm/i915: Add igt_spinner_pin() to allow for ww locking around spinner Maarten Lankhorst
2020-10-15 11:25 ` [Intel-gfx] [PATCH v3 33/63] drm/i915: Add ww locking around vm_access() Maarten Lankhorst
2020-10-15 11:25 ` [Intel-gfx] [PATCH v3 34/63] drm/i915: Increase ww locking for perf Maarten Lankhorst
2020-10-15 11:25 ` [Intel-gfx] [PATCH v3 35/63] drm/i915: Lock ww in ucode objects correctly Maarten Lankhorst
2020-10-15 11:26 ` [Intel-gfx] [PATCH v3 36/63] drm/i915: Add ww locking to dma-buf ops Maarten Lankhorst
2020-10-15 11:26 ` [Intel-gfx] [PATCH v3 37/63] drm/i915: Add missing ww lock in intel_dsb_prepare Maarten Lankhorst
2020-10-15 11:26 ` [Intel-gfx] [PATCH v3 38/63] drm/i915: Fix ww locking in shmem_create_from_object Maarten Lankhorst
2020-10-15 11:26 ` [Intel-gfx] [PATCH v3 39/63] drm/i915: Use a single page table lock for each gtt Maarten Lankhorst
2020-10-15 11:26 ` [Intel-gfx] [PATCH v3 40/63] drm/i915/selftests: Prepare huge_pages testcases for obj->mm.lock removal Maarten Lankhorst
2020-10-15 11:26 ` [Intel-gfx] [PATCH v3 41/63] drm/i915/selftests: Prepare client blit " Maarten Lankhorst
2020-10-15 11:26 ` [Intel-gfx] [PATCH v3 42/63] drm/i915/selftests: Prepare coherency tests " Maarten Lankhorst
2020-10-15 11:26 ` [Intel-gfx] [PATCH v3 43/63] drm/i915/selftests: Prepare context " Maarten Lankhorst
2020-10-15 11:26 ` [Intel-gfx] [PATCH v3 44/63] drm/i915/selftests: Prepare dma-buf " Maarten Lankhorst
2020-10-15 11:26 ` [Intel-gfx] [PATCH v3 45/63] drm/i915/selftests: Prepare execbuf " Maarten Lankhorst
2020-10-15 11:26 ` [Intel-gfx] [PATCH v3 46/63] drm/i915/selftests: Prepare mman testcases " Maarten Lankhorst
2020-10-15 11:26 ` [Intel-gfx] [PATCH v3 47/63] drm/i915/selftests: Prepare object tests " Maarten Lankhorst
2020-10-15 11:26 ` [Intel-gfx] [PATCH v3 48/63] drm/i915/selftests: Prepare object blit " Maarten Lankhorst
2020-10-15 11:26 ` [Intel-gfx] [PATCH v3 49/63] drm/i915/selftests: Prepare igt_gem_utils " Maarten Lankhorst
2020-10-15 11:26 ` [Intel-gfx] [PATCH v3 50/63] drm/i915/selftests: Prepare context selftest " Maarten Lankhorst
2020-10-15 11:26 ` [Intel-gfx] [PATCH v3 51/63] drm/i915/selftests: Prepare hangcheck " Maarten Lankhorst
2020-10-15 11:26 ` [Intel-gfx] [PATCH v3 52/63] drm/i915/selftests: Prepare execlists " Maarten Lankhorst
2020-10-15 11:26 ` [Intel-gfx] [PATCH v3 53/63] drm/i915/selftests: Prepare mocs tests " Maarten Lankhorst
2020-10-15 11:26 ` [Intel-gfx] [PATCH v3 54/63] drm/i915/selftests: Prepare ring submission " Maarten Lankhorst
2020-10-15 11:26 ` [Intel-gfx] [PATCH v3 55/63] drm/i915/selftests: Prepare timeline tests " Maarten Lankhorst
2020-10-15 11:26 ` [Intel-gfx] [PATCH v3 56/63] drm/i915/selftests: Prepare i915_request " Maarten Lankhorst
2020-10-15 11:26 ` [Intel-gfx] [PATCH v3 57/63] drm/i915/selftests: Prepare memory region " Maarten Lankhorst
2020-10-15 11:26 ` [Intel-gfx] [PATCH v3 58/63] drm/i915/selftests: Prepare cs engine " Maarten Lankhorst
2020-10-15 11:26 ` [Intel-gfx] [PATCH v3 59/63] drm/i915/selftests: Prepare gtt " Maarten Lankhorst
2020-10-15 11:26 ` [Intel-gfx] [PATCH v3 60/63] drm/i915: Finally remove obj->mm.lock Maarten Lankhorst
2020-10-15 11:26 ` [Intel-gfx] [PATCH v3 61/63] drm/i915: Keep userpointer bindings if seqcount is unchanged, v2 Maarten Lankhorst
2020-10-15 11:26 ` [Intel-gfx] [PATCH v3 62/63] drm/i915: Idea to implement eviction locking Maarten Lankhorst
2020-10-15 11:26 ` [Intel-gfx] [PATCH v3 63/63] drm/i915: Keep lazy reference to userptr pages Maarten Lankhorst
2020-10-15 13:23 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915: Remove obj->mm.lock! (rev3) Patchwork
2020-10-15 13:24 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork
2020-10-15 13:27 ` [Intel-gfx] ✗ Fi.CI.DOCS: " Patchwork
2020-10-15 13:37 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2020-10-15 17:10 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork

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=20201015112627.1142745-1-maarten.lankhorst@linux.intel.com \
    --to=maarten.lankhorst@linux.intel.com \
    --cc=intel-gfx@lists.freedesktop.org \
    /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.