Summary: | [CI][SHARDS] igt@kms_psr@sprite_render|igt@gem_tiled_blits@normal|igt@gem_mmap_gtt@basic-small-copy - dmesg-warn - WARNING: possible circular locking dependency detected | ||
---|---|---|---|
Product: | DRI | Reporter: | Lakshmi <lakshminarayana.vudum> |
Component: | DRM/Intel | Assignee: | Intel GFX Bugs mailing list <intel-gfx-bugs> |
Status: | CLOSED FIXED | QA Contact: | Intel GFX Bugs mailing list <intel-gfx-bugs> |
Severity: | not set | ||
Priority: | not set | CC: | intel-gfx-bugs |
Version: | DRI git | ||
Hardware: | Other | ||
OS: | All | ||
Whiteboard: | |||
i915 platform: | KBL, SKL | i915 features: | GEM/Other |
Description
Lakshmi
2019-10-04 07:26:28 UTC
The CI Bug Log issue associated to this bug has been updated. ### New filters associated * SKL KBL: igt@kms_psr@sprite_render|igt@gem_tiled_blits@normal|igt@gem_mmap_gtt@basic-small-copy - dmesg-warn - WARNING: possible circular locking dependency detected - https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14643/shard-skl7/igt@kms_psr@sprite_render.html - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6997/shard-kbl3/igt@gem_tiled_blits@normal.html - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6997/shard-skl9/igt@kms_psr@sprite_render.html - https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14639/shard-skl6/igt@kms_psr@sprite_render.html - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6994/shard-skl5/igt@kms_psr@sprite_render.html - https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14601/shard-kbl4/igt@gem_tiled_blits@normal.html - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6999/shard-kbl2/igt@gem_mmap_gtt@basic-small-copy.html - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6999/shard-skl4/igt@gem_eio@kms.html This one, this I can fix! commit 2850748ef8763ab46958e43a4d1c445f29eeb37d Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Fri Oct 4 14:39:58 2019 +0100 drm/i915: Pull i915_vma_pin under the vm->mutex Replace the struct_mutex requirement for pinning the i915_vma with the local vm->mutex instead. Note that the vm->mutex is tainted by the shrinker (we require unbinding from inside fs-reclaim) and so we cannot allocate while holding that mutex. Instead we have to preallocate workers to do allocate and apply the PTE updates after we have we reserved their slot in the drm_mm (using fences to order the PTE writes with the GPU work and with later unbind). In adding the asynchronous vma binding, one subtle requirement is to avoid coupling the binding fence into the backing object->resv. That is the asynchronous binding only applies to the vma timeline itself and not to the pages as that is a more global timeline (the binding of one vma does not need to be ordered with another vma, nor does the implicit GEM fencing depend on a vma, only on writes to the backing store). Keeping the vma binding distinct from the backing store timelines is verified by a number of async gem_exec_fence and gem_exec_schedule tests. The way we do this is quite simple, we keep the fence for the vma binding separate and only wait on it as required, and never add it to the obj->resv itself. Another consequence in reducing the locking around the vma is the destruction of the vma is no longer globally serialised by struct_mutex. A natural solution would be to add a kref to i915_vma, but that requires decoupling the reference cycles, possibly by introducing a new i915_mm_pages object that is own by both obj->mm and vma->pages. However, we have not taken that route due to the overshadowing lmem/ttm discussions, and instead play a series of complicated games with trylocks to (hopefully) ensure that only one destruction path is called! v2: Add some commentary, and some helpers to reduce patch churn. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20191004134015.13204-4-chris@chris-wilson.co.uk A CI Bug Log filter associated to this bug has been updated: {- SKL KBL: igt@kms_psr@sprite_render|igt@gem_tiled_blits@normal|igt@gem_mmap_gtt@basic-small-copy - dmesg-warn - WARNING: possible circular locking dependency detected -} {+ SKL KBL GLK: igt@kms_psr@sprite_render|igt@gem_tiled_blits@normal|igt@gem_mmap_gtt@basic-small-copy - dmesg-warn - WARNING: possible circular locking dependency detected +} New failures caught by the filter: * https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7135/shard-glk1/igt@gem_tiled_blits@interruptible.html * https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_389/fi-skl-lmem/igt@gem_tiled_blits@interruptible.html * https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7142/shard-glk4/igt@gem_tiled_blits@interruptible.html A CI Bug Log filter associated to this bug has been updated: {- SKL KBL GLK: igt@kms_psr@sprite_render|igt@gem_tiled_blits@normal|igt@gem_mmap_gtt@basic-small-copy - dmesg-warn - WARNING: possible circular locking dependency detected -} {+ SKL KBL: igt@kms_psr@sprite_render|igt@gem_tiled_blits@normal|igt@gem_mmap_gtt@basic-small-copy - dmesg-warn - WARNING: possible circular locking dependency detected +} No new failures caught with the new filter A CI Bug Log filter associated to this bug has been updated: {- SKL KBL GLK: igt@kms_psr@sprite_render|igt@gem_tiled_blits@normal|igt@gem_mmap_gtt@basic-small-copy - dmesg-warn - WARNING: possible circular locking dependency detected -} {+ SKL KBL GLK: igt@kms_psr@sprite_render|igt@gem_tiled_blits@normal|igt@gem_mmap_gtt@basic-small-copy - dmesg-warn - WARNING: possible circular locking dependency detected +} No new failures caught with the new filter This was failure occurred 9 times in drmtip 382 but nothing later. Closing and archiving this issue. The CI Bug Log issue associated to this bug has been archived. New failures matching the above filters will not be associated to this bug anymore. |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.