All of lore.kernel.org
 help / color / mirror / Atom feed
* TCP stalling problems dissipated in 2.5.63
@ 2003-02-27  9:02 Dave Hansen
  0 siblings, 0 replies; only message in thread
From: Dave Hansen @ 2003-02-27  9:02 UTC (permalink / raw)
  To: netdev

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

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2003-02-27  9:02 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-02-27  9:02 TCP stalling problems dissipated in 2.5.63 Dave Hansen

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.