qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Any reason VIRTQUEUE_MAX_SIZE is 1024? Can we increase this limit?


From: Stefan Hajnoczi
Subject: Re: Any reason VIRTQUEUE_MAX_SIZE is 1024? Can we increase this limit?
Date: Wed, 5 Aug 2020 13:11:07 +0100

On Thu, Jul 30, 2020 at 07:46:09AM +0000, Yajun Wu wrote:
> I'm doing iperf test on VIRTIO net through vhost-user(HW VDPA).
> Find maximal acceptable tx_queue_size/rx_queue_size is 1024.
> Basically increase queue size can get better RX rate for my case.
> 
> Can we increase the limit(VIRTQUEUE_MAX_SIZE) to 8192 to possibly gain better 
> performance?

Hi,
The VIRTIO 1.1 specification says the maximum number of descriptors is
32768 for both split and packed virtqueues.

The vhost kernel code seems to support 32768.

The 1024 limit is an implementation limit in QEMU. Increasing it would
require QEMU code changes. For example, VIRTQUEUE_MAX_SIZE is used as
the size of arrays.

I can't think of a fundamental reason why QEMU needs to limit itself to
1024 descriptors. Raising the limit would require fixing up the code and
ensuring that live migration remains compatible with older versions of
QEMU.

Stefan

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]