On Wed, Mar 16, 2022 at 10:24:20PM +0900, Tetsuo Handa wrote: > Since this WQ is invoked when flushing data to disk, this WQ had better use > WQ_MEM_RECLAIM flag when creating. A WQ created with WQ_MEM_RECLAIM flag has > at least one "struct task_struct" in order to guarantee forward progress, but > results in consuming more kernel resources. Therefore, it is preferable to > destroy the WQ when clearing unbinding a loop device from a backing file. Whіch then gets us into lock dependency problems. A previously used but lingering around device will use some resources, so what? If you care about the least used resources the only way to get there is to destroy the device.