[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-users] Release 0.8.0 of GPL PV Drivers for Windows



On Sunday 02 March 2008 04:51:47 am Pasi Kärkkäinen wrote:
> Yep. I asked because of the "bad" 80 Mbit/sec result on a 100 Mbit network.. 

My guess is my cpu(s)  don't have enough raw power to saturate the nic, but 
let's see what happens after your suggestions are implemented.

> That's because with some version of xen and/or drivers (I'm not sure
> actually) it was a known fact that performance got bad when you had hw
> checksum calculations turned on..
>
> So just to see if that's the case here.. I guess this was mostly for domU..

Ahh, because there's no hardware - makes sense.

Alright - let's try one change/set of related changes at a time to isolate 
their effect.

> > rx-checksumming: off
> > tx-checksumming: off
> > scatter-gather: off
> > tcp segmentation offload: off
> > udp fragmentation offload: off
> > generic segmentation offload: off
>
> Maybe try turning on offloading/checksumming settings here?

Ok - before any changes, 'iperf -c insp6400 -t 60' gives 78.7 Mbps.

On SuSE:
[830] > sudo ethtool -K eth0 tx on
Cannot set device tx csum settings: Operation not supported
[2]    23551 exit 85    sudo ethtool -K eth0 tx on
jimb@Dell4550 03/02/08 10:36AM:~
[831] > sudo ethtool -K eth0 tso on
Cannot set device tcp segmentation offload settings: Operation not supported
[2]    23552 exit 88    sudo ethtool -K eth0 tso on

on fc8:
[742] > sudo ethtool -K peth0 tx on
Password:
Cannot set device tx csum settings: Operation not supported
zsh: exit 85    sudo ethtool -K peth0 tx on
jimb@Insp6400 03/02/08 10:38AM:~
[743] > sudo ethtool -K peth0 tso on
Cannot set device tcp segmentation offload settings: Operation not supported
zsh: exit 88    sudo ethtool -K peth0 tso on

Ahem - moving on!

> I usually use at least 256k window sizes :)

Trying adding '-w 262144' on both server and client side, iperf gets 72.1 
Mpbs. Worse.

> Did you try with multiple threads at the same time? Did it have any effect?

Adding '-P 4' to client, iperf gets an aggregate rate of 74.5 Mpbs. Worse.

> "ifconfig eth0 txqueuelen <value>" on linux.. I don't know how to do that
> in windows.
>
> But it's important to do that on dom0 for vifX.Y devices.. those are the
> dom0 sides of the virtual machine virtual NICs.

[740] > ifconfig
[...]
peth0     Link encap:Ethernet  HWaddr 00:15:C5:04:7D:4F
          inet6 addr: fe80::215:c5ff:fe04:7d4f/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1492  Metric:1
          RX packets:11545320 errors:0 dropped:237 overruns:0 frame:0
          TX packets:13476839 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:421343991 (401.8 MiB)  TX bytes:4224204231 (3.9 GiB)
          Interrupt:22

tap0      Link encap:Ethernet  HWaddr 0E:92:BB:CA:D8:DA
          inet6 addr: fe80::c92:bbff:feca:d8da/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:14090 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:500
          RX bytes:0 (0.0 b)  TX bytes:7860525 (7.4 MiB)

vif4.0    Link encap:Ethernet  HWaddr FE:FF:FF:FF:FF:FF
          inet6 addr: fe80::fcff:ffff:feff:ffff/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2595441 errors:0 dropped:0 overruns:0 frame:0
          TX packets:923150 errors:0 dropped:795 overruns:0 carrier:0
          collisions:0 txqueuelen:32
          RX bytes:3366016758 (3.1 GiB)  TX bytes:166299319 (158.5 MiB)

vif16.0   Link encap:Ethernet  HWaddr FE:FF:FF:FF:FF:FF
          inet6 addr: fe80::fcff:ffff:feff:ffff/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:9848 errors:0 dropped:0 overruns:0 frame:0
          TX packets:20828 errors:0 dropped:4698 overruns:0 carrier:0
          collisions:0 txqueuelen:32
          RX bytes:834219 (814.6 KiB)  TX bytes:16017488 (15.2 MiB)

Yowza! 32? Those *are* small!
500 isn't much better for tap0, either.

> > > - Check sysctl net.core.netdev_max_backlog setting.. it should be at
> > > least 1000, possibly even more.. this applies to dom0 and linux domU.
> >
> > Where is this set, and what do I have to restart to make it
> > effective? /etc/sysctl.conf?
>
> Yep, modify /etc/sysctl.conf and run "sysctl -p /etc/sysctl.conf".
>
> > In general, are there any downsides in changing these values?
>
> http://kb.pert.geant2.net/PERTKB/InterfaceQueueLength

Interesting link - thanx.

Ok - setting 'ifconfig eth0 txqueuelen 2500' (peth0 on fc8) and 
net.core.netdev_max_backlog = 2500 on both machines, iperf gets 65.9 Mpbs. 
Worse. Probably only useful for Gpbs links. Removing changes, as in all cases 
above.

> There's something about these settings
>
> btw. what was the CPU usage for dom0 and for domU when you did these iperf
> tests?

About 75%. I've noticed, at least on my SuSE box, that multimedia playback 
suffers over 50%. (wine)

On my WIndows guest, setting tap0's txqueuelen to 1000 had no effect (it 
probably wouldn't since it's receiving); setting window size to 256k hung my 
guest; after rebooting the guest, it had no effect on 2nd try; and changing 
sysctl had no effect. Cpu % was about 80-85% w/o any changes (negligible on 
fc8) averaged over 2 vcpus. With any of the changes above, cpu % went down to 
65-75% - the only change noticed.

Have fun digesting this :-)

_______________________________________________
Xen-users mailing list
Xen-users@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-users


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.