Re: [Linaro-mm-sig] [PATCH 00/11] drm/msm: drm scheduler conversion and cleanups

Christian König
2021-07-20T14:28:31Z

Am 20.07.21 um 16:07 schrieb Daniel Vetter:
> On Mon, Jul 19, 2021 at 10:40:57AM +0200, Christian König wrote:
>> Am 17.07.21 um 22:29 schrieb Rob Clark:
>>> From: Rob Clark <robdclark@chromium.org>
>>>
>>> Conversion to gpu_scheduler, and bonus removal of
>>> drm_gem_object_put_locked()
>> Oh yes please!
>>
>> If I'm not completely mistaken that was the last puzzle piece missing to
>> unify TTMs and GEMs refcount of objects.
> Why does drm/msm, a driver not using ttm at all, block ttm refactorings?
> We can just check whether the TTM using driver is potentially using locked
> final unref and have a special version of
> drm_gem_object_put_guaranteed_unlocked or whatever the bikeshed will look
> like, which doesn't have the migth_lock.

Because we now don't have any unrealistic lock inversion between
dev->struct_mutex and obj->resv lockdep can complain any more.

Cheers,
Christian.

>
> Anyway, deed is done now :-)
> -Daniel
>
>> Only problem is that I only see patch 7 and 9 in my inbox. Where is the
>> rest?
>>
>> Thanks,
>> Christian.
>>
>>> Rob Clark (11):
>>> drm/msm: Docs and misc cleanup
>>> drm/msm: Small submitqueue creation cleanup
>>> drm/msm: drop drm_gem_object_put_locked()
>>> drm: Drop drm_gem_object_put_locked()
>>> drm/msm/submit: Simplify out-fence-fd handling
>>> drm/msm: Consolidate submit bo state
>>> drm/msm: Track "seqno" fences by idr
>>> drm/msm: Return ERR_PTR() from submit_create()
>>> drm/msm: Conversion to drm scheduler
>>> drm/msm: Drop struct_mutex in submit path
>>> drm/msm: Utilize gpu scheduler priorities
>>>
>>> drivers/gpu/drm/drm_gem.c | 22 --
>>> drivers/gpu/drm/msm/Kconfig | 1 +
>>> drivers/gpu/drm/msm/adreno/a5xx_debugfs.c | 4 +-
>>> drivers/gpu/drm/msm/adreno/a5xx_gpu.c | 6 +-
>>> drivers/gpu/drm/msm/adreno/a5xx_power.c | 2 +-
>>> drivers/gpu/drm/msm/adreno/a5xx_preempt.c | 7 +-
>>> drivers/gpu/drm/msm/adreno/a6xx_gmu.c | 12 +-
>>> drivers/gpu/drm/msm/adreno/a6xx_gpu.c | 2 +-
>>> drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c | 4 +-
>>> drivers/gpu/drm/msm/adreno/adreno_gpu.c | 6 +-
>>> drivers/gpu/drm/msm/msm_drv.c | 30 +-
>>> drivers/gpu/drm/msm/msm_fence.c | 39 ---
>>> drivers/gpu/drm/msm/msm_fence.h | 2 -
>>> drivers/gpu/drm/msm/msm_gem.c | 91 +-----
>>> drivers/gpu/drm/msm/msm_gem.h | 37 ++-
>>> drivers/gpu/drm/msm/msm_gem_submit.c | 300 ++++++++++++--------
>>> drivers/gpu/drm/msm/msm_gpu.c | 50 +---
>>> drivers/gpu/drm/msm/msm_gpu.h | 41 ++-
>>> drivers/gpu/drm/msm/msm_ringbuffer.c | 70 ++++-
>>> drivers/gpu/drm/msm/msm_ringbuffer.h | 12 +
>>> drivers/gpu/drm/msm/msm_submitqueue.c | 49 +++-
>>> include/drm/drm_gem.h | 2 -
>>> include/uapi/drm/msm_drm.h | 10 +-
>>> 23 files changed, 440 insertions(+), 359 deletions(-)
>>>