On Thu, Sep 22, 2016 at 08:53:00AM -0600, Jens Axboe wrote: > If a driver sets BLK_MQ_F_BLOCKING, it is allowed to block in its > ->queue_rq() handler. For that case, blk-mq ensures that we always > calls it from a safe context. First can you provide a more useful defintion of blocking? Lots of current drivers will already block in ->queue_rq, mostly to allocate memory. Second we looked at something similar a few times ago, mosty notably when converting loop and rbd, and came to the conclusion that performance sucks when we only have that single per-hctx work struct for a busy device. I think Ming has done a lot of the benchmarking, so I've added him to Cc. -- To unsubscribe from this list: send the line "unsubscribe linux-block" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html