RE: Can we increase vring size over 1024?

Gonglei (Arei)
2016-09-03T04:21:29Z

> -----Original Message-----
> From: Michael S. Tsirkin [mailto:mst@redhat.com]
> Sent: Saturday, September 03, 2016 1:33 AM
> To: Gonglei (Arei)
> Cc: stefanha@redhat.com; jasowang@redhat.com; kvm@vger.kernel.org;
> virtio-dev@lists.oasis-open.org; qemu-devel@nongnu.org; Lilijun (Jerry);
> Huangpeng (Peter)
> Subject: Re: Can we increase vring size over 1024?
>
> On Fri, Sep 02, 2016 at 06:55:35AM +0000, Gonglei (Arei) wrote:
> > Hi Michael & all,
> >
> > 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-td2
> 92450.html
> >
> > Avi Kivity said that google cloud exposed the vring size to 16k.
> >
> > Regards,
> > -Gonglei
>
> Fundamentally, the reason is that the ring size
> currently also sets the max s/g list length, and linux
> hosts can't support bigger lists.
>
But I don't think this is a problem.
Vring is just a container, we can say the max request's length is 1024, but the capacity of container
shouldn't be the length of max request. For example, we can put 4K requests with one s/g list
into vring at one time if the vring size is 4096, and 4 requests with 1024 s/g list into vring at one time.
Ignoring the indirect table support. Am I right?

> We should fix that in 1.1.
>
Sounds good!

> --
> MST

Regards,
-Gonglei