From: Rusty Russell <rusty@rustcorp.com.au>
To: Thomas Lendacky <tahm@linux.vnet.ibm.com>
Cc: "Michael S. Tsirkin" <mst@redhat.com>,
Sasha Levin <levinsasha928@gmail.com>,
virtualization@lists.linux-foundation.org,
linux-kernel@vger.kernel.org, avi@redhat.com,
kvm@vger.kernel.org
Subject: Re: [PATCH v2 2/2] virtio-ring: Allocate indirect buffers from cache when possible
Date: Wed, 12 Sep 2012 15:43:11 +0930 [thread overview]
Message-ID: <87bohbdb0o.fsf@rustcorp.com.au> (raw)
In-Reply-To: <14037987.hiN6MSGY6z@tomlt1.ibmoffice.com>
Thomas Lendacky <tahm@linux.vnet.ibm.com> writes:
> I ran some TCP_RR and TCP_STREAM sessions, both host-to-guest and
> guest-to-host, with a form of the histogram patch applied against a
> RHEL6.3 kernel. The histogram values were reset after each test.
Hey, thanks! This is exactly what I wanted to see...
> 60 session TCP_RR from host-to-guest with 256 byte request and 256 byte
> response for 60 seconds:
>
> Queue histogram for virtio1:
> Size distribution for input (max=7818456):
> 1: 7818456 ################################################################
These are always 1, so we don't indirect them anyway, so no cache required.
> Size distribution for output (max=7816698):
> 2: 149
> 3: 7816698 ################################################################
> 4: 2
> 5: 1
> Size distribution for control (max=1):
> 0: 0
OK, tiny TCP data, but latency sensitive.
> Queue histogram for virtio1:
> Size distribution for input (max=16050941):
> 1: 16050941 ################################################################
> Size distribution for output (max=1877796):
> 2: 1877796 ################################################################
> 3: 5
> Size distribution for control (max=1):
> 0: 0
Acks. Not that many, not that latency sensitive.
> 4 session TCP_STREAM from guest-to-host with 4K message size for 60 seconds:
>
> Queue histogram for virtio1:
> Size distribution for input (max=1316069):
> 1: 1316069 ################################################################
> Size distribution for output (max=879213):
> 2: 24
> 3: 24097 #
> 4: 23176 #
> 5: 3412
> 6: 4446
> 7: 4663
> 8: 4195
> 9: 3772
> 10: 3388
> 11: 3666
> 12: 2885
> 13: 2759
> 14: 2997
> 15: 3060
> 16: 2651
> 17: 2235
> 18: 92721 ######
> 19: 879213 ################################################################
Hey, that +1 is there in MAX_SKB_FRAGS for a reason! Who knew?
This looks like we could really use a:
int vq_set_indirect_cache(struct virtqueue *vq, unsigned num);
Which networking would set on the xmit queue(s) if we have GSO.
The real question is now whether we'd want a separate indirect cache for
the 3 case (so num above should be a bitmap?), or reuse the same one, or
not use it at all?
Benchmarking will tell...
Thanks,
Rusty.
next prev parent reply other threads:[~2012-09-12 6:33 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-08-28 13:04 [PATCH v2 1/2] virtio-ring: Use threshold for switching to indirect descriptors Sasha Levin
2012-08-28 13:04 ` [PATCH v2 2/2] virtio-ring: Allocate indirect buffers from cache when possible Sasha Levin
2012-08-28 13:20 ` Michael S. Tsirkin
2012-08-28 13:35 ` Sasha Levin
2012-08-29 11:07 ` Michael S. Tsirkin
2012-08-29 15:03 ` Sasha Levin
2012-08-29 15:14 ` Michael S. Tsirkin
2012-08-30 10:34 ` Sasha Levin
2012-08-29 15:38 ` Michael S. Tsirkin
2012-08-29 16:50 ` Sasha Levin
2012-09-06 1:02 ` Rusty Russell
2012-09-06 5:02 ` Michael S. Tsirkin
2012-09-06 7:57 ` Rusty Russell
2012-09-06 8:45 ` Michael S. Tsirkin
2012-09-06 23:49 ` Rusty Russell
2012-09-07 0:06 ` Michael S. Tsirkin
2012-09-10 16:01 ` Thomas Lendacky
[not found] ` <14037987.hiN6MSGY6z@tomlt1.ibmoffice.com>
2012-09-10 16:08 ` Michael S. Tsirkin
2012-09-12 6:13 ` Rusty Russell [this message]
2012-09-12 10:44 ` Sasha Levin
2012-10-23 15:14 ` Michael S. Tsirkin
2012-09-10 15:52 ` Paolo Bonzini
2012-09-06 0:02 ` Rusty Russell
2012-08-29 15:38 ` Michael S. Tsirkin
2012-08-29 17:14 ` Sasha Levin
2012-08-29 18:12 ` Michael S. Tsirkin
2012-08-29 20:46 ` Sasha Levin
2012-08-29 22:52 ` Michael S. Tsirkin
2012-08-28 13:20 ` [PATCH v2 1/2] virtio-ring: Use threshold for switching to indirect descriptors Michael S. Tsirkin
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=87bohbdb0o.fsf@rustcorp.com.au \
--to=rusty@rustcorp.com.au \
--cc=avi@redhat.com \
--cc=kvm@vger.kernel.org \
--cc=levinsasha928@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mst@redhat.com \
--cc=tahm@linux.vnet.ibm.com \
--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