On 1/26/21 7:46 AM, Pavel Tatashin wrote: > Currently, loop device has only one global lock: loop_ctl_mutex. > > This becomes hot in scenarios where many loop devices are used. > > Scale it by introducing per-device lock: lo_mutex that protects > modifications of all fields in struct loop_device. > > Keep loop_ctl_mutex to protect global data: loop_index_idr, loop_lookup, > loop_add. > > The new lock ordering requirement is that loop_ctl_mutex must be taken > before lo_mutex. Applied, thanks. -- Jens Axboe