Re: Patch #3 (TCP / Linux / Performance)

2001-12-03 Thread Danny Braniss
this is what i get, it's between a dell 2540 (dual PIII/900) and an Intel Sl2 (dual PIII/1g). both are using intel's em driver. majadara ./tbench 1 bagel Throughput 12.4785 MB/sec (NB=15.5981 MB/sec 124.785 MBit/sec) majadara ./tbench 2 bagel Throughput 18.1598 MB/sec (NB=22.6998 MB/sec

Re: Patch #3 (TCP / Linux / Performance)

2001-12-03 Thread Matthew Dillon
:this is what i get, it's between a dell 2540 (dual PIII/900) and an Intel Sl2 :(dual PIII/1g). both are using intel's em driver. : :majadara ./tbench 1 bagel :Throughput 12.4785 MB/sec (NB=15.5981 MB/sec 124.785 MBit/sec) :... :Throughput 37.002 MB/sec (NB=46.2526 MB/sec 370.02 MBit/sec) :

Patch #3 (TCP / Linux / Performance)

2001-12-02 Thread Matthew Dillon
I've fixed a couple of additional problems. * tbench() assumes that accept() propogates the NODELAY tcp option. It doesn't in FreeBSD. Er, it didn't in FreeBSD... my patch fixes this. * If the transwmitter sees a 0 window it stalls waiting for an ack. However, if

Re: Patch #3 (TCP / Linux / Performance)

2001-12-02 Thread Richard Sharpe
OK Matt, that last patch did the trick. I am now getting 68 and 69Mb/s between my Linux system and the FreeBSD system. I have also tried the loopback interface, and I am getting 371Mb/s for 1 process, dropping to about 320Mb/s for 5. This seems like it is close to the limit for the machine I

Re: Patch #3 (TCP / Linux / Performance)

2001-12-02 Thread Matthew Dillon
: :OK Matt, that last patch did the trick. : :I am now getting 68 and 69Mb/s between my Linux system and the FreeBSD :system. Excellent! :I have also tried the loopback interface, and I am getting 371Mb/s for 1 process, :dropping to about 320Mb/s for 5. Excellent! :This seems like

Re: Patch #3 (TCP / Linux / Performance)

2001-12-02 Thread Bosko Milekic
On Sun, Dec 02, 2001 at 11:18:42AM -0800, Matthew Dillon wrote: [...] :Does the FreeBSD tcp stack do zero copy (page flip the data to :userspace)? In the localhost case, it seems like there are two copies :to/from userspace there. : :-- :Richard Sharpe, [EMAIL PROTECTED], LPIC-1

Re: Patch #3 (TCP / Linux / Performance)

2001-12-02 Thread Lamont Granquist
On Sun, 2 Dec 2001, Matthew Dillon wrote: Throughput 47.2446 MB/sec (NB=59.0558 MB/sec 472.446 MBit/sec) 20 procs It seems to max-out at around 75,000 packets per second (input + output). I doubt these results could be duplicated on anything but a DELL2550. It dedicates an

Re: Patch #3 (TCP / Linux / Performance)

2001-12-02 Thread Andrew R. Reiter
On Sun, 2 Dec 2001, Lamont Granquist wrote: : :What is the remaining bottleneck in these tests? CPU? Interrupts? What :would you need to do to get that closer to the theoretical limit :(something around 920 Mbs for GigE IIRC)? Well, for one thing, I'd imagine that per-byte and per-copy

Re: Patch #3 (TCP / Linux / Performance)

2001-12-02 Thread Matthew Dillon
:On Sun, 2 Dec 2001, Matthew Dillon wrote: : Throughput 47.2446 MB/sec (NB=59.0558 MB/sec 472.446 MBit/sec) 20 procs : : It seems to max-out at around 75,000 packets per second (input + output). : : I doubt these results could be duplicated on anything but a DELL2550. : It

Re: Patch #3 (TCP / Linux / Performance)

2001-12-02 Thread Lamont Granquist
On Sun, 2 Dec 2001, Matthew Dillon wrote: This is connecting to inetd running a dd if=/dev/zero bs=32k on a machine with the rfc sysctl's turned on and 262144 byte send and receive buffers, without jumbo frames (my gigE switch doesn't support them :-( ). nice, 950 Mbs which

Re: Patch #3 (TCP / Linux / Performance)

2001-12-02 Thread Matthew Dillon
:nice, 950 Mbs which should be the theoretical maximum. what kind of CPUs :do you have in there, and do you know how hard they were working? : These are 1.1 GHz duel Pentium III's. One of the cpu's is maxed out at that transfer rate (this is -stable and the program is in the system

Re: Patch #3 (TCP / Linux / Performance)

2001-12-02 Thread Luigi Rizzo
On Sun, Dec 02, 2001 at 12:10:53AM -0800, Matthew Dillon wrote: ... There are still a couple of unresolved issues. I noticed that when connecting locally TCP is non-optimal... when sending a 4100 byte data block it sends two 1460 byte packets (maxseg), then one 1176 byte

Re: Patch #3 (TCP / Linux / Performance)

2001-12-02 Thread Matthew Dillon
:curious, as the loopback's MTU is normally 16384. :Also, any idea on where does the 4096 limit (1460*2+1176) come from ? : : cheers : luigi It comes from the size of an mbuf, which is 2K. If you are trying to send 4100 bytes of data what winds up happening is this:

Re: Patch #3 (TCP / Linux / Performance)

2001-12-02 Thread Justin T. Gibbs
Does the FreeBSD tcp stack do zero copy (page flip the data to userspace)? In the localhost case, it seems like there are two copies to/from userspace there. It has the ability to do it via sendfile() and a few other mechanisms, but not as a normal part of typical read()/write(). Ahh, but

Re: Patch #3 (TCP / Linux / Performance)

2001-12-02 Thread Andrew R. Reiter
: :Ahh, but there are patches floating around that do support zero-copy. :Just ask Ken Merry and Drew Gallatin. I don't think they've been integrated :due to lack of testing time, but they've existed for 2 or so years now. : http://people.freebsd.org/~ken/zero_copy/ -- Andrew R. Reiter [EMAIL