X-Git-Url: https://git.proxmox.com/?p=mirror_ubuntu-artful-kernel.git;a=blobdiff_plain;f=block%2Fblk-mq-sched.c;h=4ab69435708c2b04df3ba3bda332fdfe74a5aac5;hp=7f0dc48ffb40895a499208474536e300f2efab34;hb=HEAD;hpb=ec4b8ddcd3b9836ae06fcf8d7f6442e7d9f0c6e6 diff --git a/block/blk-mq-sched.c b/block/blk-mq-sched.c index 7f0dc48ffb40..4ab69435708c 100644 --- a/block/blk-mq-sched.c +++ b/block/blk-mq-sched.c @@ -515,10 +515,12 @@ int blk_mq_init_sched(struct request_queue *q, struct elevator_type *e) } /* - * Default to 256, since we don't split into sync/async like the - * old code did. Additionally, this is a per-hw queue depth. + * Default to double of smaller one between hw queue_depth and 128, + * since we don't split into sync/async like the old code did. + * Additionally, this is a per-hw queue depth. */ - q->nr_requests = 2 * BLKDEV_MAX_RQ; + q->nr_requests = 2 * min_t(unsigned int, q->tag_set->queue_depth, + BLKDEV_MAX_RQ); queue_for_each_hw_ctx(q, hctx, i) { ret = blk_mq_sched_alloc_tags(q, hctx, i);