[PATCH] drm: Avoid drm_global_mutex for simple inc/dec of dev->open_count

Thomas Hellström (VMware) thomas_os at shipmail.org
Fri Jan 24 13:37:47 UTC 2020


On 1/24/20 2:01 PM, Chris Wilson wrote:
> Since drm_global_mutex is a true global mutex across devices, we don't
> want to acquire it unless absolutely necessary. For maintaining the
> device local open_count, we can use atomic operations on the counter
> itself, except when making the transition to/from 0. Here, we tackle the
> easy portion of delaying acquiring the drm_global_mutex for the final
> release by using atomic_dec_and_mutex_lock(), leaving the global
> serialisation across the device opens.
>
> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> Cc: Thomas Hellström (VMware) <thomas_os at shipmail.org>

For the series:

Reviewed-by: Thomas Hellström <thellstrom at vmware.com>

Now the only remaining (though pre-existing) problem I can see is that 
there is no corresponding mutex lock in drm_open() so that firstopen 
might race with lastclose.. Or I might be missing something..

/Thomas




More information about the dri-devel mailing list