This service will be undergoing maintenance at 00:00 UTC, 2017-10-23 It is expected to last about 30 minutes
Bug 706051 - poor throughput of tcp_stream from exhost to guest .
poor throughput of tcp_stream from exhost to guest .
Status: CLOSED DUPLICATE of bug 703416
Product: Red Hat Enterprise Linux 5
Classification: Red Hat
Component: kvm (Show other bugs)
5.7
Unspecified Unspecified
low Severity medium
: rc
: ---
Assigned To: Michael S. Tsirkin
Virtualization Bugs
:
Depends On:
Blocks: Rhel5KvmTier2
  Show dependency treegraph
 
Reported: 2011-05-19 06:32 EDT by Quan Wenli
Modified: 2011-06-02 08:26 EDT (History)
4 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2011-06-02 08:26:34 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Quan Wenli 2011-05-19 06:32:15 EDT
Description of problem:

guest got very poor throughput  of tcp_stream from exhost to guest while disabled netfilter on bridge and also diabled tso and enabled gso on eth.

Version-Release number of selected component (if applicable):

kernel-2.6.18-259.el5
kvm-83-232.el5

How reproducible:

100%

Steps to Reproduce:
1.diabled bridge on host 
sysctl -a |grep bridg
net.bridge.bridge-nf-filter-vlan-tagged = 0
net.bridge.bridge-nf-call-ip6tables = 0
net.bridge.bridge-nf-call-iptables = 0
net.bridge.bridge-nf-call-arptables = 0
2. sysctl -w net.ipv4.conf.default.arp_filter=1
   sysctl -w net.ipv4.conf.all.arp_filter=1
3.diabled tso and enabled gso on eth.
   ethtool -K eth2 tso off
   ethtool -K eth2 gso on 
4. boot guest with qemu-ci 
/usr/libexec/qemu-kvm  -name 'vm1'  -drive file=/root/RHEL-Server-5.7-64-virtio.qcow2,index=0,if=virtio,boot=on,media=disk,cache=none,format=qcow2 -net nic,vlan=0,model=virtio,macaddr='9a:3b:dd:52:d9:d7' -net tap,vlan=0,script=/etc/qemu-ifup -m 4096 -smp 2,cores=1,threads=1,sockets=2  -cpu qemu64,+sse2   -vnc :0 -rtc-td-hack  -boot c  -usbdevice tablet -no-kvm-pit-reinjection

5.run netserver on guest
6.run netperf on ex-host
./netperf  -H 192.168.0.101
TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.0.101 (192.168.0.101) port 0 AF_INET
Recv   Send    Send                          
Socket Socket  Message  Elapsed              
Size   Size    Size     Time     Throughput  
bytes  bytes   bytes    secs.    10^6bits/sec  

 87380  16384  16384    10.34       0.51 

Actual results:


Expected results:


Additional info:
#ethtool -k eth2
Offload parameters for eth2:
Cannot get device udp large send offload settings: Operation not supported
rx-checksumming: on
tx-checksumming: on
scatter-gather: on
tcp segmentation offload: off
udp fragmentation offload: off
generic segmentation offload: on
generic-receive-offload: on

#ethtool -k breth0
Offload parameters for breth0:
Cannot get device rx csum settings: Operation not supported
Cannot get device udp large send offload settings: Operation not supported
rx-checksumming: off
tx-checksumming: on
scatter-gather: on
tcp segmentation offload: on
udp fragmentation offload: off
generic segmentation offload: on
generic-receive-offload: off

#ethtool -i eth2
driver: ixgbe
version: 3.2.9-k2
firmware-version: 0.9-3
bus-info: 0000:0f:00.

#brctl show
bridge name	bridge id		STP enabled	interfaces
breth0		8000.001b218eb2b8	no		tap0
							eth2
Comment 1 Quan Wenli 2011-05-20 01:27:56 EDT
also get poor throughtput of tcp_stream  on rhel5.6 with kernel-2.6.18-238.el5/kvm-83-224.el5 by using the same steps in "Steps to Reproduce:"

./netperf -H 192.168.0.101 -l 60 
TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.0.101 (192.168.0.101) port 0 AF_INET
Recv   Send    Send                          
Socket Socket  Message  Elapsed              
Size   Size    Size     Time     Throughput  
bytes  bytes   bytes    secs.    10^6bits/sec  

 87380  16384  16384    60.01       3.59
Comment 2 Quan Wenli 2011-05-20 07:02:46 EDT
throughput of tcp_stream got very obvious speedup by just disabled rsc with 'ethtool -C eth2 rx-usecs 0'.

#netperf -H 192.168.0.101
TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.0.101
(192.168.0.101) port 0 AF_INET
Recv   Send    Send                          
Socket Socket  Message  Elapsed              
Size   Size    Size     Time     Throughput  
bytes  bytes   bytes    secs.    10^6bits/sec  

 87380  16384  16384    10.01    2902.13

I also try disabled netfilter on bridge and disabled hw rsc,got about 2925.84 Mbps throughput of tcp_stream .But such virtio performance can not be accepted also.
Comment 3 Michael S. Tsirkin 2011-06-02 08:26:34 EDT
So this is a duplicate of
https://bugzilla.redhat.com/show_bug.cgi?id=703416
as far as I can tell.

*** This bug has been marked as a duplicate of bug 703416 ***

Note You need to log in before you can comment on or make changes to this bug.