On Fri, Jan 24, 2020 at 06:39:26PM +0000, Chris Wilson wrote: > Quoting Thomas Hellström (VMware) (2020-01-24 13:37:47) > > 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@xxxxxxxxxxxxxxxxxx> > > > Cc: Thomas Hellström (VMware) <thomas_os@xxxxxxxxxxxx> > > > > For the series: > > > > Reviewed-by: Thomas Hellström <thellstrom@xxxxxxxxxx> > > Now being opt-in, it is fairly limited in scope and will not randomly > break others (touch wood) and the close() racing in BAT didn't throw > anything up, so pushed to drm-misc-next. Thanks for the review and > suggestions, Yeah this version looks reasonable compared to the previous few (I'm catching up on dri-devel). I've looked at getting rid of the global_mutex, and all I have is a simple patch with a pile of notes. It's real nasty. This one here is a neat trick that I missed, and I'm semi-convinced it's safe :-) > Next task is to suggest others might like to use it as well. My idea for the opt-in was to look at whether ->load/->unload exists. And ofc not bother with any of this for DRIVER_LEGACY. So maybe next step would be to define a drm_can_noglobal() { return !DRIVER_LEGACY && !->load && !->unload; } and inline the close helper again and see what breaks? At least from what I've looked trying to duplicate paths and opt-in is going to be real tough on the open side of things. Best I've done thus far is minor pushing of the critical section. -Daniel -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx