Re: [PATCH v4 1/1] loop: scale loop device by introducing per device lock

From: Jens Axboe
Date: Tue Jan 26 2021 - 22:18:45 EST


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