[PATCH 00/18] dma-fence lockdep annotations, round 2
From: Daniel Vetter
Date: Thu Jun 04 2020 - 04:14:03 EST
Hi all,
Still very much early stuff, still very much looking for initial thoughts
and maybe some ideas how this could all be rolled out across drivers.
Full intro probably best from the RFC cover letter:
https://lore.kernel.org/amd-gfx/20200512085944.222637-1-daniel.vetter@xxxxxxxx/
Changes since last time around:
- might_sleep annotation has landed already, I split that out as a
stand-alone
- now with an mm patch to improve direct reclaim annotations for mmu
notifiers. This allows us to very easily catch issues in that area, no
more need for exaustive testing and luck to make sure we're not leaving
a GFP_NOFS or GPF_NOIO around which should be a GFP_ATOMIC
- kerneldoc that explains all the reasoning behind the annotations and
priming, hopefully
Driver patches still largely just meant as examples to illustrate usage,
but from various irc chats I think discussing them is really useful to
gain clarity on the exact places the annotations should be put.
Cheers, Daniel
Daniel Vetter (18):
mm: Track mmu notifiers in fs_reclaim_acquire/release
dma-buf: minor doc touch-ups
dma-fence: basic lockdep annotations
dma-fence: prime lockdep annotations
drm/vkms: Annotate vblank timer
drm/vblank: Annotate with dma-fence signalling section
drm/atomic-helper: Add dma-fence annotations
drm/amdgpu: add dma-fence annotations to atomic commit path
drm/scheduler: use dma-fence annotations in main thread
drm/amdgpu: use dma-fence annotations in cs_submit()
drm/amdgpu: s/GFP_KERNEL/GFP_ATOMIC in scheduler code
drm/amdgpu: DC also loves to allocate stuff where it shouldn't
drm/amdgpu/dc: Stop dma_resv_lock inversion in commit_tail
drm/scheduler: use dma-fence annotations in tdr work
drm/amdgpu: use dma-fence annotations for gpu reset code
Revert "drm/amdgpu: add fbdev suspend/resume on gpu reset"
drm/amdgpu: gpu recovery does full modesets
drm/i915: Annotate dma_fence_work
Documentation/driver-api/dma-buf.rst | 18 +-
drivers/dma-buf/dma-buf.c | 6 +-
drivers/dma-buf/dma-fence.c | 202 ++++++++++++++++++
drivers/dma-buf/dma-resv.c | 4 +
drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c | 5 +
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 22 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c | 2 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_ids.c | 2 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_sync.c | 2 +-
drivers/gpu/drm/amd/amdgpu/atom.c | 2 +-
.../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 18 +-
drivers/gpu/drm/amd/display/dc/core/dc.c | 4 +-
drivers/gpu/drm/drm_atomic_helper.c | 16 ++
drivers/gpu/drm/drm_vblank.c | 8 +-
drivers/gpu/drm/i915/i915_sw_fence_work.c | 3 +
drivers/gpu/drm/scheduler/sched_main.c | 11 +
drivers/gpu/drm/vkms/vkms_crtc.c | 8 +-
include/linux/dma-fence.h | 13 ++
mm/mmu_notifier.c | 7 -
mm/page_alloc.c | 23 +-
20 files changed, 341 insertions(+), 35 deletions(-)
--
2.26.2