On Thu, Dec 07, 2023 at 02:02:36PM +0800, Jason Wang wrote: > On Thu, Dec 7, 2023 at 12:33 PM Li Feng <fengli@xxxxxxxxxx> wrote: > > > > virtio-blk is generally used in cloud computing scenarios, where the > > performance of virtual disks is very important. The mq-deadline scheduler > > has a big performance drop compared to none with single queue. > > At least you can choose the scheduler based on if mq is supported or not? > > Thanks This is already the case: static struct elevator_type *elevator_get_default(struct request_queue *q) { if (q->tag_set && q->tag_set->flags & BLK_MQ_F_NO_SCHED_BY_DEFAULT) return NULL; if (q->nr_hw_queues != 1 && !blk_mq_is_shared_tags(q->tag_set->flags)) return NULL; return elevator_find_get(q, "mq-deadline"); } I guess I agree blk is typically kind of similar to loopback so none by default makes sense here same as for loopback. Stefan care to comment? -- MST