Bug 684127

Summary: e1000:Execute multiple netperf clients caused system call interrupted
Product: Red Hat Enterprise Linux 7 Reporter: Amos Kong <akong>
Component: qemu-kvmAssignee: Michael S. Tsirkin <mst>
Status: CLOSED WONTFIX QA Contact: Virtualization Bugs <virt-bugs>
Severity: medium Docs Contact:
Priority: medium    
Version: 7.0CC: ailan, chayang, gyue, juzhang, michen, mkenneth, rhod, syeghiay, tburke, virt-maint, wquan, yvugenfi
Target Milestone: rc   
Target Release: 7.0   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 704097 (view as bug list) Environment:
Last Closed: 2013-11-03 13:42:55 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 678338    
Bug Blocks: 580954    

Description Amos Kong 2011-03-11 08:29:25 UTC
Description of problem:
When I run multiple netperf clients on host, they connect with the netperf-server in guest.
clients fail to execute cmds and output "interrupted system call"

This problem also exists on RHEl6.0.
qemu-kvm-0.12.1.2-2.113.el6_0.8.x86_64
2.6.32-71.18.1.el6.x86_64


Version-Release number of selected component (if applicable):
qemu-kvm-0.12.1.2-2.150.el6.x86_64

How reproducible:
always

Steps to Reproduce:
1. boot up a guest 
2. setup and launch netperf server in guest
guest)# ./netserver
3. setup and launch multiple netperf client in host.
host)# while true;do ./netperf -t TCP_STREAM -H $guest_ip ;echo Tcp:$?;done &
host)# while true;do ./netperf -t UDP_STREAM -H $guest_ip;echo Udp:$?;done &
host)# while true;do ./netperf -H $guest_ip -- -m 200; echo $? Other:$?;done &

Actual results:
netperf clients outputted:
interrupted system call 
netperf remote error 4

Expected results:
netperf commands completed. 

Additional info:

Comment 2 Amos Kong 2011-03-14 05:56:02 UTC
> How reproducible:
> always
> 
> Steps to Reproduce:
> 1. boot up a guest 

guest uses e1000 nic.

> 2. setup and launch netperf server in guest
> guest)# ./netserver

Comment 3 Dor Laor 2011-03-17 14:14:14 UTC
That it happens with  virtio also?

Comment 4 Amos Kong 2011-03-18 01:36:33 UTC
(In reply to comment #3)
> That it happens with  virtio also?

No, it only happens with e1000 nic.

Comment 11 Chao Yang 2011-08-08 09:06:32 UTC
I have reproduced this issue with e1000 followed by steps in Comment #0 with qemu-kvm-0.12.1.2-2.160.el6.x86_64 
After step 3:
Udp:0
UDP UNIDIRECTIONAL SEND TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 10.66.11.227 (10.66.11.227) port 0 AF_INET : histogram : interval
Interrupted system call
netperf: remote error 41 Other:1
TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 10.66.11.227 (10.66.11.227) port 0 AF_INET : histogram : interval
Interrupted system call
netperf: remote error 4Tcp:1
TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 10.66.11.227 (10.66.11.227) port 0 AF_INET : histogram : interval

----CLI:
/usr/libexec/qemu-kvm -M rhel6.1.0 -enable-kvm -m 4096 -smp 2 -name RHEL6.1_64 -uuid `uuidgen` -rtc base=utc,clock=host,driftfix=slew -boot dc -drive file=/root/images/RHEL6.1_64-copy.qcow2,if=none,id=drive-ide-0-0,media=disk,format=qcow2,cache=none,werror=stop -device ide-drive,drive=drive-ide-0-0,id=ide0-0-0 -netdev tap,id=hostnet1 -device e1000,netdev=hostnet1,id=net1,mac=64:31:50:46:22:36 -usb -device usb-tablet,id=input1 -spice port=9000,disable-ticketing -monitor stdio -balloon none



Verified  this issue with e1000 with same steps mentioned above with qemu-kvm-0.12.1.2-2.177.el6.x86_64
After step 3:
netperf clients can be launched and work well, no abnormal error pops up.

----CLI:
/usr/libexec/qemu-kvm -M rhel6.2.0 -enable-kvm -m 4096 -smp 2 -name RHEL6.1_64 -uuid `uuidgen` -rtc base=utc,clock=host,driftfix=slew -boot dc -drive file=/root/images/RHEL6.1_64-copy.qcow2,if=none,id=drive-ide-0-0,media=disk,format=qcow2,cache=none,werror=stop -device ide-drive,drive=drive-ide-0-0,id=ide0-0-0 -netdev tap,id=hostnet1 -device e1000,netdev=hostnet1,id=net1,mac=64:31:50:46:22:36 -usb -device usb-tablet,id=input1 -spice port=9000,disable-ticketing -monitor stdio -balloon none




---conclusion:
Based on above, this issue has been fixed correctly.

Comment 13 Golita Yue 2011-10-20 09:54:24 UTC
Hit this bug in weekly testing:
kernel-2.6.32-207.el6.x86_64, qemu-kvm-0.12.1.2-2.196.el6.x86_64

So reopen it.

Comment 14 Golita Yue 2011-10-20 09:56:39 UTC
How reproducible: 20%

Comment 18 Ronen Hod 2012-01-09 16:58:33 UTC
*** Bug 626185 has been marked as a duplicate of this bug. ***

Comment 19 Ronen Hod 2012-01-09 16:59:12 UTC
*** Bug 723122 has been marked as a duplicate of this bug. ***

Comment 20 Ronen Hod 2012-01-09 16:59:46 UTC
*** Bug 771866 has been marked as a duplicate of this bug. ***

Comment 21 Yvugenfi@redhat.com 2012-02-13 23:03:20 UTC
What version of netperf is used (is it even possible to understand from the binary)? 

In latest sources: ftp://ftp.netperf.org/netperf/netperf-2.5.0.zip there is no string that resembles the received error message.

Comment 22 Amos Kong 2012-02-14 02:10:00 UTC
netperf-2.4.5(In reply to comment #21)
> What version of netperf is used (is it even possible to understand from the
> binary)? 

netperf-2.4.5
https://github.com/autotest/autotest/blob/master/client/tests/netperf2/netperf-2.4.5.tar.bz2

> In latest sources: ftp://ftp.netperf.org/netperf/netperf-2.5.0.zip there is no
> string that resembles the received error message.

Error code returns from netserver to netperf.
# grep -i 'interrupted system call' /usr/include/ -r 
/usr/include/asm-generic/errno-base.h:#define   EINTR            4      /* Interrupted system call */

Comment 24 RHEL Program Management 2012-07-10 06:30:41 UTC
This request was not resolved in time for the current release.
Red Hat invites you to ask your support representative to
propose this request, if still desired, for consideration in
the next release of Red Hat Enterprise Linux.

Comment 25 RHEL Program Management 2012-07-11 01:59:47 UTC
This request was erroneously removed from consideration in Red Hat Enterprise Linux 6.4, which is currently under development.  This request will be evaluated for inclusion in Red Hat Enterprise Linux 6.4.

Comment 26 Michael S. Tsirkin 2012-07-15 14:22:54 UTC
So this if you like is bufferbloat in action.
Not triggerable easily ith virtio because it is much faster but
may affect virtio under lots of stress.
Fix might need risky changes so let's try to address in rhel7.

Comment 27 Dmitry Fleytman 2013-05-17 06:40:13 UTC
*** Bug 771866 has been marked as a duplicate of this bug. ***

Comment 28 Ronen Hod 2013-11-03 13:42:55 UTC
Closing. We deferred it for too long. will never get to it.