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:13 UTC|newest]
Thread overview: 59+ 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 ` 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:04 ` Sasha Levin
2012-08-28 13:20 ` Michael S. Tsirkin
2012-08-28 13:20 ` Michael S. Tsirkin
2012-08-28 13:35 ` Sasha Levin
2012-08-28 13:35 ` Sasha Levin
2012-08-29 11:07 ` Michael S. Tsirkin
2012-08-29 11:07 ` Michael S. Tsirkin
2012-08-29 15:03 ` Sasha Levin
2012-08-29 15:03 ` Sasha Levin
2012-08-29 15:14 ` Michael S. Tsirkin
2012-08-29 15:14 ` Michael S. Tsirkin
2012-08-30 10:34 ` Sasha Levin
2012-08-30 10:34 ` Sasha Levin
2012-08-29 15:38 ` Michael S. Tsirkin
2012-08-29 15:38 ` Michael S. Tsirkin
2012-08-29 16:50 ` Sasha Levin
2012-08-29 16:50 ` Sasha Levin
2012-09-06 1:02 ` Rusty Russell
2012-09-06 1:02 ` Rusty Russell
2012-09-06 5:02 ` Michael S. Tsirkin
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 8:45 ` Michael S. Tsirkin
2012-09-06 23:49 ` Rusty Russell
2012-09-06 23:49 ` Rusty Russell
2012-09-07 0:06 ` Michael S. Tsirkin
2012-09-07 0:06 ` Michael S. Tsirkin
2012-09-10 15:47 ` Thomas Lendacky
2012-09-10 16:08 ` Michael S. Tsirkin
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-09-12 10:44 ` Sasha Levin
2012-10-23 15:14 ` Michael S. Tsirkin
2012-10-23 15:14 ` Michael S. Tsirkin
2012-09-12 6:13 ` Rusty Russell
2012-09-10 16:01 ` Thomas Lendacky
2012-09-10 16:01 ` Thomas Lendacky
2012-09-06 7:57 ` Rusty Russell
2012-09-10 15:52 ` Paolo Bonzini
2012-09-10 15:52 ` Paolo Bonzini
2012-09-06 0:02 ` Rusty Russell
2012-09-06 0:02 ` Rusty Russell
2012-08-29 15:38 ` Michael S. Tsirkin
2012-08-29 15:38 ` Michael S. Tsirkin
2012-08-29 17:14 ` Sasha Levin
2012-08-29 17:14 ` Sasha Levin
2012-08-29 18:12 ` Michael S. Tsirkin
2012-08-29 18:12 ` Michael S. Tsirkin
2012-08-29 20:46 ` Sasha Levin
2012-08-29 20:46 ` Sasha Levin
2012-08-29 22:52 ` Michael S. Tsirkin
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
2012-08-28 13:20 ` 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.