Re: [PATCH] Adding multiple workers to the loop device.
From: Jens Axboe <axboe@kernel.dk>
Date: 2020-01-23 18:59:14
Also in:
lkml
From: Jens Axboe <axboe@kernel.dk>
Date: 2020-01-23 18:59:14
Also in:
lkml
On 1/21/20 12:25 PM, muraliraja.muniraju wrote:
Current loop device implementation has a single kthread worker and drains one request at a time to completion. If the underneath device is slow then this reduces the concurrency significantly. To help in these cases, adding multiple loop workers increases the concurrency. Also to retain the old behaviour the default number of loop workers is 1 and can be tuned via the ioctl.
Have you considered using blk-mq for this? Right now loop just does some basic checks and then queues for a thread. If you bump nr_hw_queues up (provide a parameter for that) and set BLK_MQ_F_BLOCKING in the tag flags, then that might be a more viable approach for handling this. -- Jens Axboe