Messages in this thread | | | Date | Sun, 04 Dec 2011 17:16:59 +0200 | From | Avi Kivity <> | Subject | Re: [PATCH] virtio-ring: Use threshold for switching to indirect descriptors |
| |
On 12/04/2011 05:11 PM, Michael S. Tsirkin wrote: > > There's also the used ring, but that's a > > mistake if you have out of order completion. We should have used copying. > > Seems unrelated... unless you want used to be written into > descriptor ring itself?
The avail/used rings are in addition to the regular ring, no? If you copy descriptors, then it goes away.
> But, I don't really know why does virtio ring insist on > making the 3 buffers (avail/used/descriptor) > physically contigious. Rusty?
Let's drop them instead.
> > > 16kB worth of descriptors is 1024 entries. With 4kB buffers, that's 4MB > > worth of data, or 4 ms at 10GbE line speed. With 1500 byte buffers it's > > just 1.5 ms. In any case I think it's sufficient. > > Right. So I think that without indirect, we waste about 3 entries > per packet for virtio header and transport etc headers.
That does suck. Are there issues in increasing the ring size? Or making it discontiguous?
Can you take a peek at how Xen manages its rings? They have the same problems we do.
-- error compiling committee.c: too many arguments to function
| |