From: Dave Hansen <haveblue@us.ibm.com>
To: netdev <netdev@oss.sgi.com>
Subject: TCP stalling problems dissipated in 2.5.63
Date: Thu, 27 Feb 2003 01:02:31 -0800 [thread overview]
Message-ID: <3E5DD427.2070801@us.ibm.com> (raw)
I've been complaining about these problems for a bit, so I thought I'd
share some good news.
http://marc.theaimsgroup.com/?l=linux-netdev&m=104169568212878&w=2
http://marc.theaimsgroup.com/?t=104343403700001&r=1&w=2
I decided to spend some time tracking down the TCP stalls that I was
still seeing with the e1000 on 2.5.59 (probably not the e1000's fault,
just the only cards I see it on). I pulled out my trusty old test that
I've been using for a few weeks to replicate the problem. Anyway, I
can't get it to occur any more. The real test will be to see if Specweb
still triggers it, but my Specweb machine is a smoldering pile of slag
right now.
I have a 4-way PIII-Xeon and an 8-way PIII-Xeon plugged into the same
copper gigabit switch. The 4-way runs 4 copies of http-bench.sh, which
I've included below. It basically asks the server for a list of files
(from a cgi script), then fetches them sequentially. The _sustained_
data rate is 750 Mb/sec with peaks of ~790 Mb/sec. The server runs
Apache 2.0.43.
During this time, the client is about 80% CPU saturated (shell scripts,
what do you expect?), but the server is a much different story. vmstat
shows ~1% user time, and only 5-6% kernel. The rest is idle! I have
readprofile from a short slice, because oprofile doesn't work on these
machines.
126 tcp_write_xmit 0.1703
128 kfree 1.2800
131 __kfree_skb 0.6550
132 ip_rcv 0.1303
142 qdisc_restart 0.3550
150 tcp_transmit_skb 0.1053
156 schedule 0.1566
161 e1000_clean_rx_irq 0.1720
169 kmalloc 1.2426
189 skb_clone 0.4500
215 alloc_skb 0.4594
233 do_generic_mapping_read 0.2709
240 tcp_v4_rcv 0.1268
294 e1000_intr 3.1957
311 e1000_clean_tx_irq 0.7266
353 e1000_xmit_frame 0.2229
370 do_tcp_sendpages 0.1370
408 skb_release_data 2.6154
127279 poll_idle 1515.2262
134275 total 0.0829
httpd-bench.sh:
#!/bin/sh
SERVER=10.1.1.96
rm -f file_list 2> /dev/null
wget -O file_list http://$SERVER/ls.pl
cat file_list | \
awk '{print "http://'$SERVER'/" $0}' | \
xargs --max-procs=1 --max-args=20 wget -O /dev/null --progress=dot 2>&1
| grep \'" saved " \
| awk -f speedavg.awk
ls.pl from the server (yeah, yeah, I know it's not perl, but I didn't
feel like adding another handler)
#!/bin/sh
echo 'Content-type: text/html'
echo
find file_set -type f -size +100k
--
Dave Hansen
haveblue@us.ibm.com
reply other threads:[~2003-02-27 9:02 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=3E5DD427.2070801@us.ibm.com \
--to=haveblue@us.ibm.com \
--cc=netdev@oss.sgi.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).