From: Dor Laor <dlaor@redhat.com>
To: Mark McLoughlin <markmc@redhat.com>
Cc: netdev@vger.kernel.org, Dor Laor <dor@redhat.com>,
Avi Kivity <avi@redhat.com>,
virtualization@lists.linux-foundation.org
Subject: Re: [PATCH 2/3] virtio: indirect ring entries (VIRTIO_RING_F_INDIRECT_DESC)
Date: Mon, 27 Apr 2009 10:43:53 +0300 [thread overview]
Message-ID: <49F56239.9010509@redhat.com> (raw)
In-Reply-To: <1240318745.443.42.camel@blaa>
Mark McLoughlin wrote:
> Hi Rusty,
>
> On Thu, 2008-12-18 at 17:10 +0000, Mark McLoughlin wrote:
>
>> Add a new feature flag for indirect ring entries. These are ring
>> entries which point to a table of buffer descriptors.
>>
>> The idea here is to increase the ring capacity by allowing a larger
>> effective ring size whereby the ring size dictates the number of
>> requests that may be outstanding, rather than the size of those
>> requests.
>>
>> This should be most effective in the case of block I/O where we can
>> potentially benefit by concurrently dispatching a large number of
>> large requests. Even in the simple case of single segment block
>> requests, this results in a threefold increase in ring capacity.
>>
>
> Apparently, this would also be useful for the windows virtio-net
> drivers.
>
> Dor can explain further, but apparently Windows has been observed
> passing the driver a packet with >256 fragments when using TSO.
>
> With a ring size of 256, the guest can either drop the packet or copy it
> into a single buffer. We'd much rather if we could use an indirect ring
> entry to pass this number of fragments without copying.
>
Correct. This is what we do in Windows today.
The problem arises when using sending lots of small packets
from the win guest and TSO. Windows prepare very big scatter gather
list, bigger than the ring size (270 fragments).
Having indirect ring entries is good both for this and also for block
io, as described
above.
Cheers,
Dor
> For reference the original patch was here:
>
> http://lkml.org/lkml/2008/12/18/212
>
> Cheers,
> Mark.
>
> _______________________________________________
> Virtualization mailing list
> Virtualization@lists.linux-foundation.org
> https://lists.linux-foundation.org/mailman/listinfo/virtualization
>
next prev parent reply other threads:[~2009-04-27 7:43 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1229620222-22216-1-git-send-email-markmc@redhat.com>
[not found] ` <1229620222-22216-2-git-send-email-markmc@redhat.com>
[not found] ` <1229620222-22216-3-git-send-email-markmc@redhat.com>
2009-04-21 12:59 ` [PATCH 2/3] virtio: indirect ring entries (VIRTIO_RING_F_INDIRECT_DESC) Mark McLoughlin
2009-04-27 7:43 ` Dor Laor [this message]
2009-05-04 2:19 ` Rusty Russell
2009-05-11 17:10 ` Mark McLoughlin
2009-05-11 17:11 ` [PATCH 1/3] virtio: teach virtio_has_feature() about transport features Mark McLoughlin
2009-05-11 17:11 ` [PATCH 2/3] virtio: indirect ring entries (VIRTIO_RING_F_INDIRECT_DESC) Mark McLoughlin
2009-05-11 17:11 ` [PATCH 3/3] lguest: add support for indirect ring entries Mark McLoughlin
2009-05-12 14:23 ` [PATCH 2/3] virtio: indirect ring entries (VIRTIO_RING_F_INDIRECT_DESC) Rusty Russell
2009-05-17 2:04 ` Rusty Russell
2009-05-17 6:27 ` Avi Kivity
2009-05-17 14:16 ` Rusty Russell
2009-05-17 15:05 ` Avi Kivity
2009-05-19 8:15 ` Rusty Russell
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=49F56239.9010509@redhat.com \
--to=dlaor@redhat.com \
--cc=avi@redhat.com \
--cc=dor@redhat.com \
--cc=markmc@redhat.com \
--cc=netdev@vger.kernel.org \
--cc=virtualization@lists.linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).