On 01/07/2015 09:22 AM, Mike Snitzer wrote:
On Wed, Jan 07 2015 at 11:15am -0500,
Mike Snitzer <snitzer@xxxxxxxxxx> wrote:
On Wed, Jan 07 2015 at 10:32am -0500,
Jens Axboe <axboe@xxxxxxxxx> wrote:
You forgot dm-1, that's what mkfs is sleeping on. But given that
sdc/sdd look idle, it still looks like a case of dm-1 not
appropriately running the queues after insertion.
DM never directly runs the queues of the underlying SCSI devices
(e.g. sdc, sdd).
request-based DM runs the DM device's queue on completion of a clone
request:
dm_end_request -> rq_completed -> blk_run_queue_async
Which ultimately does seem to be the wrong way around (like you say:
queue should run after insertion).
Hmm, for q->mq_ops blk_insert_cloned_request() should already be running
the queue.
blk_insert_cloned_request is calling blk_mq_insert_request(rq, false, true, true);
Third arg being @run_queue which results in blk_mq_run_hw_queue() being
called.
OK, that should be fine then. In that case, it's probably a missing
queue run in some other condition... Which does make more sense, since
"most" of the runs Bart did looked fine, it's just a slow one every now
and then.
--
Jens Axboe
--
dm-devel mailing list
dm-devel@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/dm-devel