[PATCH 0/2] drm/amd/amdgpu: locking fixes

Nicolai Hähnle nhaehnle at gmail.com
Wed Jan 11 07:31:03 UTC 2017


Hi all,

two fixes for locking issues that I noticed.

The first one is something that I actually encountered live; it probably
only matters when lock debugging is enabled, but obviously needs to be fixed
anyway.

The second one I only noticed upon reading the code -- I haven't seen it
fail live yet, at least not with lock debugging enabled (who knows what its
effects could be without lock debugging).

Please review!

I noticed two more locking-related problems, but since I'm not sure whether
I'll get to those this week, I'm sending out these two patches already. The
other two problems are (both of them probably mostly benign, but I did
encounter them in live tests):

1. amdgpu_bo_create_restricted(resv == NULL) --> ttm_bo_init will free a
   reservation object while it is locked. Fixing this soundly probably
   requires mild changes to the ttm_bo_init API (perhaps a separate
   ttm_bo_init_locked?).

2. ttm_bo_pipeline_move will ttm_bo_unref(&ghost_obj) leading to
   mutex_destroy(&ghost_obj->wu_mutex) while that mutex "looks" locked (due
   to the dumb copy).

Thanks,
Nicolai



More information about the amd-gfx mailing list