Bugs item #2834538, was opened at 2009-08-09 17:23 Message generated for change (Comment added) made by unki You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=893831&aid=2834538&group_id=180599 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: Andreas Unterkircher (unki) Assigned to: Nobody/Anonymous (nobody) Summary: low network speed with Windows virtio NIC drivers Initial Comment: Host-CPU: 2x Intel Xeon E5420 (Quad cores) Host: KVM 85 Host: 64-bit Guest: Windows XP (SP3) and Windows 2003 (SP2) We are powering several guests on a KVM host. All of them using TAP interfaces bridged together via one bridge. Within the guests we installed the lasted virtio NIC drivers (from that ISO file). While the Interface status show that the interfaces are set to 1Gbit/s, the maximum bandwidth we can achieve is about 100-120Mbit/s (tested with iperf). Funilly, one the same host, two Debian Lenny guests (so using 2.6.26 with builtin virtio modules) can achieve the full bandwidth of 1Gbit/s and more without a problem. So we suspect that the Windows virtio drivers for the NICs are causing this problem. How can we track down that problem? Can we provide more infos? We are willing to help in debuggig! Thx, Andreas ---------------------------------------------------------------------- >Comment By: Andreas Unterkircher (unki) Date: 2009-08-20 06:18 Message: Hi, Can you give us an outlook to, when this new driver will be available? Or can we have it already to test if they are able to increase the performance? Cheers, ---------------------------------------------------------------------- Comment By: Andreas Unterkircher (unki) Date: 2009-08-14 11:19 Message: Many thanks for that first hint. I tried first to increase the window size for iperf (1M or 4M) like you suggested - and indeed it immediately showed up a higher bandwidth. Then I applied those few registry settings you have put on linux-kvm.org and now iperf shows the better performance also without explictly setting the window size. But all my other tries - like SFTP/SCP over SSH or a simple file copy between to KVM Windows guests still not show improvements. A max. was now about 200Mbit/s (neither CPU nor Disk are reaching their limit in this case). You were saying: > Also, make sure TSO is on On the Windows guests, in the driver settings (advanced) there is no option to enable segmentation-offload. On the Linux hosts TSO and GSO is enabled. Do I need to enable this in the registry? And I was wondering, because from the 1GB Interface option you copied here, all the offload parameters are disabled: > "HwOffload"="0" > "OffLoad.TxIP"="0" > "OffLoad.TxLSO"="0" > "OffLoad.TxTCP"="0" ---------------------------------------------------------------------- Comment By: Dor Laor (thekozmo) Date: 2009-08-10 11:33 Message: Here is more precise/pin-point data: http://www.linux-kvm.org/page/WindowsGuestDrivers/kvmnet/registry ---------------------------------------------------------------------- Comment By: Dor Laor (thekozmo) Date: 2009-08-10 08:15 Message: The driver should be able to saturate 1G link. We'll soon post new version of the driver but there are no massive changes. You can try and play with the socket buffers (iperf -w), windows is very sensitive for it. Also, make sure TSO is on. Here is the windows registry configuration we use: TCPIP Params from the registry: [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters] "NV Hostname"="marksbox" "NameServer"="" "ForwardBroadcasts"=dword:00000000 "IPEnableRouter"=dword:00000000 "Domain"="" "Hostname"="marksbox" "SearchList"="" "UseDomainNameDevolution"=dword:00000000 "EnableICMPRedirect"=dword:00000001 "DeadGWDetectDefault"=dword:00000001 "DontAddDefaultGatewayDefault"=dword:00000000 "EnableSecurityFilters"=dword:00000000 "ReservedPorts"=hex(7):33,00,33,00,34,00,33,00,2d,00,33,00,33,00,34,00,33,00,00,00,00,00 "EnableTCPA"=dword:00000000 "EnableRSS"=dword:00000000 "EnableTCPChimney"=dword:00000000 "Tcp1323Opts"=dword:00000003 "TcpAckFrequency"=dword:00000002 "TcpWindowSize"=dword:00100000 "DhcpNameServer"="192.168.122.1" For the Windows Socket Layer [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\AFD\Parameters] "DefaultReceiveWindow"=dword:00100000 "DefaultSendWindow"=dword:00100000 Note that it looks like the 10G and 1G interfaces were slightly different in the guest. Will investigate more 1G Interface [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\{4D36E972-E325-11CE-BFC1-08002bE10318}\0012] "BusNumber"="0" "Characteristics"=dword:00000004 "BusType"="15" "ComponentId"="pci\\ven_1af4&dev_1000&subsys_00010000" "BatchReceive"="1" "ConnectRate"="1000" "ConnectTimer"="0" "DebugLevel"="0" "DoLog"="0" "Gather"="1" "HwOffload"="0" "IPPacketsCheck"="0" "LogStatistics"="0" "OffLoad.TxIP"="0" "OffLoad.TxLSO"="0" "OffLoad.TxTCP"="0" "PacketFilter"="0" "Priority"="0" "Promiscuous"="0" "RxCapacity"="256" "TxCapacity"="256" "InfPath"="oem1.inf" "InfSection"="kvmnet5.ndi" "ProviderName"="Qumranet" "DriverDateData"=hex:00,40,f5,36,ed,71,c9,01 "DriverDate"="1-9-2009" "DriverVersion"="5.1.209.110" "MatchingDeviceId"="pci\\ven_1af4&dev_1000&subsys_00010000" "DriverDesc"="Qumranet ParaVirtualized Ethernet Adapter" "NetCfgInstanceId"="{C4BF0807-F8F0-4A57-8BC5-85B2A9C5464A}" 10G Interface [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\{4D36E972-E325-11CE-BFC1-08002bE10318}\0010] "BusNumber"="0" "Characteristics"=dword:00000004 "BusType"="15" "ComponentId"="pci\\ven_1af4&dev_1000&subsys_00010000" "BatchReceive"="1" "ConnectRate"="1000" "ConnectTimer"="0" "DebugLevel"="0" "DoLog"="0" "Gather"="1" "HwOffload"="1" "IPPacketsCheck"="0" "LogStatistics"="0" "OffLoad.TxIP"="1" "OffLoad.TxLSO"="1" "OffLoad.TxTCP"="1" "PacketFilter"="1" "Priority"="0" "Promiscuous"="0" "RxCapacity"="256" "TxCapacity"="256" "InfPath"="oem1.inf" "InfSection"="kvmnet5.ndi" "ProviderName"="Qumranet" "DriverDateData"=hex:00,40,f5,36,ed,71,c9,01 "DriverDate"="1-9-2009" "DriverVersion"="5.1.209.110" "MatchingDeviceId"="pci\\ven_1af4&dev_1000&subsys_00010000" "DriverDesc"="Qumranet ParaVirtualized Ethernet Adapter" "NetCfgInstanceId"="{249CC8A2-822D-46BF-8A64-CF572F7D07D6}" ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=893831&aid=2834538&group_id=180599 -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html