Am 05.02.2015 um 15:00 schrieb Stefan Hajnoczi:
On Fri, Jan 30, 2015 at 10:08:02PM +0100, Peter Lieven wrote:
Just wondering if VIRTQUEUE_MAX_SIZE in include/hw/virtio/virtio.h should not 
be equal to IOV_MAX instead of the hardcoded 1024?
The vring queue size is guest-visible to some extent (e.g. vring memory
layout).  Tying it to a constant that is defined by the host operating
system could lead to problems (e.g. live migration between different
hosts).

Anyway, all of the virtio devices have a queue size that is less than or
equal to VIRTQUEUE_MAX_SIZE (and there is an assertion to check this in
virtio_add_queue()).

Guests are supposed to honor the vring queue size, although indirect
descriptors seem to be able to use up to VIRTQUEUE_MAX_SIZE according to
my understanding of QEMU's virtio.c code.

Why would you like to use IOV_MAX?

The idea was that IOV_MAX is the limit in case of at least virtio-blk. The host
will not support more than IOV_MAX iovecs passed to a block request.

Peter


Reply via email to