Re: [PATCHv7] add mergeable buffers support to vhost_net
From: "Michael S. Tsirkin" <mst@redhat.com>
Date: 2010-05-03 16:01:00
Also in:
kvm, virtualization
On Mon, May 03, 2010 at 08:39:08AM -0700, David Stevens wrote:
"Michael S. Tsirkin" [off-list ref] wrote on 05/03/2010 03:34:11 AM:quoted
On Wed, Apr 28, 2010 at 01:57:12PM -0700, David L Stevens wrote:quoted
This patch adds mergeable receive buffer support to vhost_net. Signed-off-by: David L Stevens <redacted>I've been doing some more testing before sending out a pull request, and I see a drastic performance degradation in guest to host traffic when this is applied but mergeable buffers are not in used by userspace (existing qemu-kvm userspace).Actually, I wouldn't expect it to work at all; the qemu-kvm patch (particularly the feature bit setting bug fix) is required.
Which bugfix is that?
Without it, I think the existing code will tell the guest to use mergeable buffers while turning it off in vhost.
It should not do that, specifically vhost_net_get_features does: features &= ~(1 << VIRTIO_NET_F_MRG_RXBUF); unconditionally. This was added with: 5751995a20e77cd9d61d00f7390401895fa172a6 I forced mergeable buffers off with -global virtio-net-pci.mrg_rxbuf=off and it did not seem to help either.
That was completely non-functional for me -- what version of qemu-kvm are you using?
992cc816c433332f2e93db033919a9ddbfcd1da4 or later should work well AFAIK.
What I did to test w/o mergeable buffers is turn off the bit in VHOST_FEATURES.
It should be enough to force mergeable buffers to off by qemu command line: -global virtio-net-pci.mrg_rxbuf=off
I'll recheck these, but qemu-kvm definitely
must be updated; the original doesn't correctly handle feature bits.
+-DLSHmm, I don't see the bug. -- MST