2014-02-27 20:52:30

by Christian Borntraeger

[permalink] [raw]
Subject: macvtap performance regression (bisected) between 3.13 and 3.14-rc1

Vlad,

commit 6acf54f1cf0a6747bac9fea26f34cfc5a9029523
macvtap: Add support of packet capture on macvtap device.

causes a performance regression for iperf traffic between two KVM guests
on my s390 system. Both guests are connected via two macvtaps on the same OSA
network card.
Before that patch I get ~20 Gbit/sec between two guests, afterwards I get
~4Gbit/sec

Latency seems to be unchanges (uperf 1byte ping pong).

According to ifconfig in the guest, I have ~ 1500 bytes per packet with this
patch and ~ 40000 bytes without. So for some reason this patch causes the
network stack to do segmentation. (the guest kernel stays the same, only host
kernel is changed).

Any ideas?


Christian


2014-02-28 22:15:06

by Vlad Yasevich

[permalink] [raw]
Subject: Re: macvtap performance regression (bisected) between 3.13 and 3.14-rc1

On 02/27/2014 03:52 PM, Christian Borntraeger wrote:
> Vlad,
>
> commit 6acf54f1cf0a6747bac9fea26f34cfc5a9029523
> macvtap: Add support of packet capture on macvtap device.
>
> causes a performance regression for iperf traffic between two KVM guests
> on my s390 system. Both guests are connected via two macvtaps on the same OSA
> network card.
> Before that patch I get ~20 Gbit/sec between two guests, afterwards I get
> ~4Gbit/sec
>
> Latency seems to be unchanges (uperf 1byte ping pong).
>
> According to ifconfig in the guest, I have ~ 1500 bytes per packet with this
> patch and ~ 40000 bytes without. So for some reason this patch causes the
> network stack to do segmentation. (the guest kernel stays the same, only host
> kernel is changed).
>
> Any ideas?

I am looking. It shouldn't cause addition segmentations and when I ran
netperf on the code I didn't see any difference in the throughput.

-vlad

>
>
> Christian
>