Re: [PATCH 0/9][RFC] KVM virtio_net performance

Mark McLoughlin
2008-07-25T17:17:39Z

On Thu, 2008-07-24 at 15:56 -0500, Anthony Liguori wrote:
> Hi Mark,
>
> Mark McLoughlin wrote:
> > Hey,
> > Here's a bunch of patches attempting to improve the performance
> > of virtio_net. This is more an RFC rather than a patch submission
> > since, as can be seen below, not all patches actually improve the
> > perfomance measurably.
> >
>
> I'm still seeing the same problem I saw with my patch series. Namely,
> dhclient fails to get a DHCP address. Rusty noticed that RX has a lot
> more packets received then it should so we're suspicious that we're
> getting packet corruption.

I've just tried bridging to my physical LAN and DHCP seems to be working
fine.

Which reminds me, though - doing this makes host->guest throughput drop
to well below pre-GSO figures. GSO appears to be disabled while there's
a physical interface on the bridge. If I remove eth0, the figures jump
right back up again.

I also just noticed that the GSO patch breaks e1000 because it
unconditionally sets IFF_VNET_HDR. Will fix that up.

> Configuring the tap device with a static address, here's what I get with
> iperf:
>
> w/o patches:
>
> guest->host: 625 Mbits/sec
> host->guest: 825 Mbits/sec
>
> w/patches
>
> guest->host: 2.02 Gbits/sec
> host->guest: 1.89 Gbits/sec
>
> guest lo: 4.35 Gbits/sec
> host lo: 4.36 Gbits/sec

I tried iperf at one point and was getting really low figures; not sure
why.

Apart from your iperf figures being lower than my netperf figures, it
also contradicts what I was seeing - namely guest->host beating
host->guest before the patches and host->guest beating guest->host after
the patches.

It could all just be down to the length of the tx timer. If you try
adjusting that does it help?

> This is with KVM GUEST configured FWIW.

Yep, same here.

Cheers,
Mark.