netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Rick Jones <rick.jones2@hp.com>
To: Jesper Krogh <jesper@krogh.cc>
Cc: David Miller <davem@davemloft.net>,
	yhlu.kernel@gmail.com, linux-kernel@vger.kernel.org,
	netdev@vger.kernel.org
Subject: Re: NIU - Sun Neptune 10g - Transmit timed out reset (2.6.24)
Date: Fri, 09 May 2008 15:20:51 -0700	[thread overview]
Message-ID: <4824CE43.8060203@hp.com> (raw)
In-Reply-To: <4824C936.9000103@krogh.cc>

Jesper Krogh wrote:
> David Miller wrote:
> 
>> From: Jesper Krogh <jesper@krogh.cc>
>> Date: Fri, 09 May 2008 20:32:53 +0200
>>
>>> When it works I doesnt seem to be able to get it pass 500MB/s.
>>
>>
>> With this card you really need multiple cpus and multiple threads
>> sending data through the card in order to fill the 10Gb pipe.
>>
>> Single connections will not fill the pipe.
> 
> 
> The server is a Sun X4600 with 8 x dual-core CPU's, setup with 64
> NFS-threads. The other end of the fiber goes into a switch with gigabit
> ports connected to 48 dual-core cpus. The test was done doing a dd on a
> 4.5GB file from the server to /dev/null on the clients.
> 
> The number of contextswitches seems enourmous.. over 120.000 sometimes.
> When transmitting around the same amount of data (4xgigabit bonded with
> 802.3ad) 4x110MB/s the amount of contextswitches only reaches 3-4.000. I
> have no idea if this has any relevance.
> 
> Should this setup not be able to fill the pipe?

Into which slot was the Neptune inserted?  (sure will be nice to have 
Alex Chiang's pci slot id patch in mainline one of these days :)

Is that slot x4, x8, x16?

To which cpu(s) were the neptune's interrupts assigned? (grep <ethN> 
/proc/interrupts)

Is the irqbalanced running?

Were any of the 16 CPUs in the system saturated during the test? (top 
with all CPUs displayed)

Do you have/know of any diagrams showing the way the I/O slots are wired 
to the rest of the system?

Have you tried any tests without any filesystem involvement? A script 
like this (might need post-mailer fixup) might be interesting to run:

s2:~ # cat runemomniagg.sh
length=30
confidence="-i 30,30"
# comment the following to get proper aggregates
# rather than quick-and dirty
confidence=""
#edit these to match your clients
control_host[1]=192.168.2.205
control_host[2]=192.168.2.206
control_host[3]=192.168.2.207
control_host[4]=192.168.2.208
control_host[5]=192.168.2.209
control_host[6]=192.168.2.210
control_host[7]=192.168.2.211
control_host[8]=192.168.2.212
control_host[9]=192.168.2.201
control_host[10]=192.168.2.203
control_host[11]=192.168.2.204
control_host[12]=192.168.2.202
concurrent_sessions="1 2 3 4 5 6 7 8 9 10 11 12"
HDR="-P 1"
# -O means "human" -o means "csv"
CSV="-o"
#CSV="-O"

echo text you supply about interrupts
echo text you supply about the systems
uname -a
   echo TCP_STREAM to multiple systems
   for i in $concurrent_sessions; do j=1; echo $i concurrent streams; 
while [ $j -le $i ]; do netperf $HDR -t omni -c -C -H 
${control_host[$j]} -l $length $confidence -- $CSV -m 64K & HDR="-P 
0";j=`expr $j + 1`; done; wait; done

   echo TCP_MAERTS to multiple systems
   HDR="-P 1"
   for i in $concurrent_sessions; do j=1; echo $i concurrent streams; 
while [ $j -le $i ]; do netperf $HDR -t omni -c -C -H 
${control_host[$j]} -l $length $confidence -- $CSV -M ,64K & HDR="-P 
0";j=`expr $j + 1`; done; wait; done

   echo bidir TCP_RR MEGABITS to multiple systems
   HDR="-P 1"
   for i in $concurrent_sessions; do j=1; echo $i concurrent streams; 
while [ $j -le $i ]; do netperf $HDR  -t omni -f m -c -C -H 
${control_host[$j]} -l $length $confidence -- $CSV -s 1M -S 1M -r 64K -b 
12 & HDR="-P 0";j=`expr $j + 1`; done; wait; done

for burst in 0 1 4 16
  do
   echo TCP_RR to multiple systems burst of $burst
   HDR="-P 1"
   for i in $concurrent_sessions; do j=1; echo $i concurrent streams; 
while [ $j -le $i ]; do netperf $HDR -t omni -c -C -H 
${control_host[$j]} -l $length $confidence -- $CSV -r 1 -b $burst -D & 
HDR="-P 0";j=`expr $j + 1`; done; wait; done
  done

cat /proc/meminfo
cat /proc/cpuinfo


Which will run netperf "omni" tests and emit a _LOT_ of information. 
The concurrent tests run "properly" will be ~15 minutes a data point. 
The output is probably best viewed in a spreadsheet program.  It is 
possible to limit what netperf will emit by placing the names of the 
output items of interest into a file you pass in the test specific -o or 
-O options. The netperf omni tests are in the top of trunk at:

http://www.netperf.org/svn/netperf2/trunk/

via subversion.  The script presume your ./configure was a superset of:

./configure --enable-omni --enable-burst

You would want it installed on both your SUT and at least a subset of 
your LG's.

rick jones

  parent reply	other threads:[~2008-05-09 22:20 UTC|newest]

Thread overview: 52+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <4821F3B7.2090702@krogh.cc>
     [not found] ` <86802c440805071130m62c1f4edydb3316dac4a2aba2@mail.gmail.com>
2008-05-07 21:15   ` NIU - Sun Neptune 10g - Transmit timed out reset (2.6.24) David Miller
2008-05-09 18:32     ` Jesper Krogh
2008-05-09 21:32       ` David Miller
2008-05-09 21:59         ` Jesper Krogh
2008-05-09 22:07           ` David Miller
2008-05-09 22:13             ` Jesper Krogh
2008-05-09 22:09           ` Matheos Worku
2008-05-09 22:15             ` Jesper Krogh
2008-05-09 22:36               ` Matheos Worku
2008-05-09 22:43                 ` Matheos Worku
2008-05-09 22:46                   ` David Miller
2008-05-09 23:10                   ` Jesper Krogh
2008-05-09 23:21                     ` Matheos Worku
2008-05-09 22:45                 ` David Miller
2008-05-22 16:32                   ` Jesper Krogh
2008-05-22 17:15                     ` Ben Hutchings
2008-05-22 17:41                     ` David Miller
2008-05-22 18:14                       ` Ben Hutchings
2008-05-22 18:28                         ` David Miller
2008-06-01  7:25                       ` Andrey Panin
2008-06-01 16:01                         ` David Miller
2008-05-09 22:20           ` Rick Jones [this message]
2008-05-09 22:48             ` Jesper Krogh
2008-05-09 23:03               ` Rick Jones
2008-05-09 23:13                 ` Jesper Krogh
2008-05-09 23:33                   ` Rick Jones
2008-05-09 23:08               ` David Dillow
2008-05-10  6:22                 ` Jesper Krogh
2008-05-10 15:53                   ` Roland Dreier
2008-05-12  6:49                     ` Jesper Krogh
2008-05-10  2:20               ` Bill Fink
2008-05-10 11:01       ` Jesper Krogh
2008-05-11  4:34         ` David Miller
2008-05-11  5:44           ` Jesper Krogh
2008-05-11  6:08             ` David Miller
2008-05-11  9:47               ` Jesper Krogh
2008-05-12  6:52           ` Jesper Krogh
2008-05-26 19:03             ` Jesper Krogh
2008-05-26 19:33               ` David Miller
2008-05-26 19:39                 ` David Miller
2008-05-26 20:54                   ` Jesper Krogh
2008-05-26 22:15                     ` David Miller
2008-05-26 22:21                       ` Jesper Krogh
2008-05-26 22:30                         ` David Miller
2008-05-27  6:19                       ` Jesper Krogh
2008-05-28  1:18                         ` Matheos Worku
2008-05-29  5:34                           ` David Miller
2008-05-30  0:14                             ` Matheos Worku
2008-05-30  7:00                               ` David Miller
2008-06-16 18:09                                 ` Matheos Worku
2008-06-16 18:21                                   ` Jesper Krogh
2008-06-18  0:02                           ` David Miller

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=4824CE43.8060203@hp.com \
    --to=rick.jones2@hp.com \
    --cc=davem@davemloft.net \
    --cc=jesper@krogh.cc \
    --cc=linux-kernel@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=yhlu.kernel@gmail.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).