• Ken Xue's avatar
    drm/amdgpu: remove ctx->lock · 461fa7b0
    Ken Xue authored
    KMD reports a warning on holding a lock from drm_syncobj_find_fence,
    when running amdgpu_test case “syncobj timeline test”.
    
    ctx->lock was designed to prevent concurrent "amdgpu_ctx_wait_prev_fence"
    calls and avoid dead reservation lock from GPU reset. since no reservation
    lock is held in latest GPU reset any more, ctx->lock can be simply removed
    and concurrent "amdgpu_ctx_wait_prev_fence" call also can be prevented by
    PD root bo reservation lock.
    
    call stacks:
    =================
    //hold lock
    amdgpu_cs_ioctl->amdgpu_cs_parser_init->mutex_lock(&parser->ctx->lock);
    …
    //report warning
    amdgpu_cs_dependencies->amdgpu_cs_process_syncobj_timeline_in_dep \
    ->amdgpu_syncobj_lookup_and_add_to_sync -> drm_syncobj_find_fence \
    -> lockdep_assert_none_held_once
    …
    amdgpu_cs_ioctl->amdgpu_cs_parser_fini->mutex_unlock(&parser->ctx->lock);
    Signed-off-by: default avatarKen Xue <Ken.Xue@amd.com>
    Reviewed-by: default avatarChristian König <christian.koenig@amd.com>
    Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
    461fa7b0
amdgpu_ctx.h 3.29 KB