Subject: Re: Status update on Sun Neptune 10Gbit fibre using the NIU-driver.

From: Eric Dumazet <[email-masked]>
Date: Sun, 22 Mar 2009 16:36:28 +0100

Jesper Krogh a écrit :
> Hi.
> 
> Back in the 2.6.25/26-days .. (around 9 months ago) I had som stuggles
> getting both performance and stabillity out of a Sun Neptune 10Gbit NIC
> over fibre. The NIU driver blew up on the system under load but Matheos
> Worku send me an internal Sun driver (nxge) that performed fairly well.
> It peaked out around 800-850 MB/s .. it put a fairly high load on the
> host system and peaked with over 300.000 cs/s (both numbers measured
> with dstat).
> 
> Today I got around to tesing the NIU(2.6.27.20) driver again. Having
> repeated the test I did last summer I couldn't get it to "blow up". But
> instead of the ~500MB/s i got out of it last summer, it peaks at 940MB/s
> now and the load on the host is nearly invisible (<2) .. cs rates less
> than 10K mostly.
> 
> I'm not using any kind of Jumbo frames in the setup.
> 
> I'll keep it up on the niu-driver for now and report back if it
> encounters any problems.
> 
> In the test .. I do dd over NFS, default exports, default mount options
> .. dd have "bs" set to either 1M or to 512 (to try to stress the NFS
> server). I have tried to put cpu-load in the NFS-server while running
> the NFS-server and pushing some data around on them memory subsystem
> while doing it.
> 
> This is just excellent..  (crossing fingers that it can beat the 180
> days of uptime the nxge-driver got).
> 
> Link to old struggles:
> http://thread.gmane.org/gmane.linux.kernel/677545
> 
> Jesper

Yes I remember this stuff. David added multi tx queue support in last July
(for 2.6.27)

Could you post more information please, about load on individual cpus
 for example ? (top snapshot with one line per cpu)

Is NFS using TCP or UDP on your setup ?

An interesting test would be the reverse path (transmit from clients to
this server)

Also, testing 2.6.29 could be interesting, since UDP receive
path doesnt need to use a global rwlock anymore.