Re: [PATCH] virtio-blk: make the queue depth the max supportable by the hypervisor
From: Rusty Russell <hidden>
Date: 2014-03-17 00:57:06
Also in:
lkml
From: Rusty Russell <hidden>
Date: 2014-03-17 00:57:06
Also in:
lkml
Theodore Ts'o [off-list ref] writes:
The current virtio block sets a queue depth of 64, which is insufficient for very fast devices. It has been demonstrated that with a high IOPS device, using a queue depth of 256 can double the IOPS which can be sustained. As suggested by Venkatash Srinivas, set the queue depth by default to be one half the the device's virtqueue, which is the maximum queue depth that can be supported by the channel to the host OS (each I/O request requires at least two VQ entries). Also allow the queue depth to be something which can be set at module load time or via a kernel boot-time parameter, for testing/benchmarking purposes.
Note that with indirect descriptors (which is supported by Almost Everyone), we can actually use the full index, so this value is a bit pessimistic. But it's OK as a starting point. Cheers, Rusty.