Re: [Qemu-devel] Can we increase vring size over 1024?

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

 



On Fri, Sep 02, 2016 at 06:55:35AM +0000, Gonglei (Arei) wrote:
> Michael, you made a presentation about the virto 1.1's new features in KVM Forum last week.
> That's wonderful!
> 
> And I'd like to know can we increase vring size over 1024, such as 4096 or 8192?
> 
> My colleage had asked the same question in 2014, but she didn't get a definite answare,
> So, I want to rewake up the dissusstion about this. Becase for the virtio-crypto device,
> I also need to increase the vring size to get better performance and thoughput, but the Qemu
> side limit the thought as VIRTQUEUE_MAX_SIZE is 1024.
> 
>  [QA-virtio]:Why vring size is limited to 1024?
> http://qemu.11.n7.nabble.com/QA-virtio-Why-vring-size-is-limited-to-1024-td292450.html
> 
> Avi Kivity said that google cloud exposed the vring size to 16k.

VIRTIO 1.0 allows the driver to choose the ring size (the device
provides the maximum value), so in theory QEMU could offer large maximum
values to VIRTIO 1.0 guests.  But existing drivers may use the device's
maximum value (~16k) instead of choosing a reasonable smaller value
(~1k), leading to much larger virtqueues in cases that don't need them.

I'd like to understand the root cause for the performance issue you see
with virtio-net 1024 ring size.  Which queue is too small: rx or tx?

Are rx packets dropped because 1) the guest is not servicing the
virtqueue quickly enough or 2) is the physical NIC delivering more
packets than the rx virtqueue size?

In case #1 the guest needs to move packets from the rx virtqueue to a
software queue as quickly as possible.  The virtqueue is not designed to
be the incoming packet queue for the application.

In case #2 it may be possible to adjust code in the host to handle this
gracefully.

Stefan

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux