Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 2 Dec 2001 11:18:42 -0800 (PST)
From:      Matthew Dillon <dillon@apollo.backplane.com>
To:        Richard Sharpe <sharpe@ns.aus.com>
Cc:        freebsd-hackers@FreeBSD.ORG
Subject:   Re: Patch #3 (TCP / Linux / Performance)
Message-ID:  <200112021918.fB2JIg592414@apollo.backplane.com>
References:  <20011128153817.T61580@monorchid.lemis.com> <15364.38174.938500.946169@caddis.yogotech.com> <20011128104629.A43642@walton.maths.tcd.ie> <5.1.0.14.1.20011130181236.00a80160@postamt1.charite.de> <200111302047.fAUKlT811090@apollo.backplane.com> <200111302130.fAULUU324648@apollo.backplane.com> <3C08CF9D.2030109@ns.aus.com> <200112012138.fB1LcG837063@apollo.backplane.com> <200112020810.fB28Arr77757@apollo.backplane.com> <3C0A3204.3010009@ns.aus.com>

next in thread | previous in thread | raw e-mail | index | archive | help

:
: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 it is close to the limit for the machine I am using, as 
:CPU hits 100% when I ran the above tbench runs.
:
:I will have to try it with Gigabit Ethernet, but won't be able to do so 
:until next week or the week after (after I get to the US).

    Here's what I get over a gigabit ethernet link between two DELL2550's:

./tbench 1 10.1.0.1
Throughput 7.72693 MB/sec (NB=9.65866 MB/sec  77.2693 MBit/sec)  1 procs
./tbench 2 10.1.0.1
Throughput 17.1535 MB/sec (NB=21.4418 MB/sec  171.535 MBit/sec)  2 procs
./tbench 3 10.1.0.1
Throughput 23.185 MB/sec (NB=28.9813 MB/sec  231.85 MBit/sec)  3 procs
./tbench 4 10.1.0.1
Throughput 24.041 MB/sec (NB=30.0512 MB/sec  240.41 MBit/sec)  4 procs
./tbench 6 10.1.0.1
Throughput 33.8823 MB/sec (NB=42.3528 MB/sec  338.823 MBit/sec)  6 procs
./tbench 8 10.1.0.1
Throughput 40.9986 MB/sec (NB=51.2482 MB/sec  409.986 MBit/sec)  8 procs
./tbench 10 10.1.0.1
Throughput 43.8519 MB/sec (NB=54.8149 MB/sec  438.519 MBit/sec)  10 procs
./tbench 15 10.1.0.1
Throughput 46.8878 MB/sec (NB=58.6098 MB/sec  468.878 MBit/sec)  15 procs
./tbench 20 10.1.0.1
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 entire internal 64 bit 66MHz PCI bus just to the
    on-board gigabit ethernet.

test1:/home/dillon/dbench> netstat -in 1
            input        (Total)           output
   packets  errs      bytes    packets  errs      bytes colls
     38680     0   37237815      36340     0   20079011     0
     41770     0   45968686      33317     0   13029493     0
     33282     0   17257495      38002     0   29369102     0
     ...

: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, rsharpe@ns.aus.com, LPIC-1

    There are zero-copy patches floating around but I haven't looked at
    them to determine how messy they might be.

					-Matt
					Matthew Dillon 
					<dillon@backplane.com>

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200112021918.fB2JIg592414>