Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 02 Mar 1995 19:47:23 +0000
From:      Matt Thomas <matt@lkg.dec.com>
To:        freebsd-hackers@FreeBSD.org
Subject:   FDDI on FreeBSD .... 
Message-ID:  <199503021947.TAA00795@whydos.lkg.dec.com>

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

After playing a little with my FDDI driver for FreeBSD 2.x, I thought I'd
share a little of my experiences ...  This is based on the 020295 snapshot.

The first piece of wisdom is that FDDI may requires more than the default
number of mbuf clusters.  (I'm using 1024 on a 32MB system instead of the
default 256).  The system gets very unhappy if you run out of mbufs (dies
with a vm_map_full panic).

% netstat -m
109 mbufs in use:
        61 mbufs allocated to data
        8 mbufs allocated to packet headers
        28 mbufs allocated to protocol control blocks
        12 mbufs allocated to socket names and addresses
60/138 mapped pages in use
565 Kbytes allocated to network (44% in use)
0 requests for memory denied
0 requests for memory delayed
0 calls to protocol drain routines

The FDDI board I am using is a DEC DEFPA PCI FDDI Controller using
twisted pair (the part number is DEFPA-UA with the standard price
is US$ 695.00).  Here's the startup information the driver prints during
probing/initialization:

pdq0 <Digital DEFPA PCI FDDI Controller> int a irq 9 on pci0:7
        reg16: virtual=0xf4817000 physical=0xc0001000
pdq0: DEC DEFPA PCI FDDI SAS Controller
pdq0: FDDI address 08:00:2b:a1:89:3f, FW=2.46, HW=0, SMT V7.2
pdq0: FDDI Port = S (PMD = Unshielded Twisted Pair)
bpf: pdq0 attached

This is installed in a DECpc XL 466d2 (Intel 486DX2) with 32MB of memory,
256KB of secondary cache set in write through mode, and a 1GB SCSI disk
connected to an onboard NCR53C810.

The other machine on the side of the UTP cable is a DEC 3000 model 400
(commonly known as an Sandpiper).  It's an Alpha running DEC OSF/1 V3.2;
the FDDI board is a DEFTA-UA (which is basically the same board as the
DEFPA but for the TurboChannel).  The Sandpiper will definitely not be
the bottleneck here.

Now for the ttcp results:

>>> Transmit from FreeBSD to DEC OSF/1 TCP (note the use of the sockbufsize
>>> to get the window scale to kick in)...

ttcp-t: buflen=32768, nbuf=2048, align=16384/0, port=5002, sockbufsize=131072  
tcp  -> 1.2.2.2
ttcp-t: socket
ttcp-t: sndbuf
ttcp-t: connect
ttcp-t: 67108864 bytes in 11.38 real seconds = 5760.39 KB/sec +++
ttcp-t: 2048 I/O calls, msec/call = 5.69, calls/sec = 180.01
ttcp-t: 0.0user 9.5sys 0:11real 84% 17i+324d 274maxrss 0+31pf 3+156csw



>>> Transmit from FreeBSD to DEC OSF/1 UDP:

ttcp-t: buflen=32000, nbuf=2048, align=16384/0, port=5001, sockbufsize=32000  
udp  -> 1.2.2.2
ttcp-t: socket
ttcp-t: sndbuf
ttcp-t: 65536000 bytes in 10.18 real seconds = 6288.65 KB/sec +++
ttcp-t: 2054 I/O calls, msec/call = 5.07, calls/sec = 201.83
ttcp-t: 0.0user 8.2sys 0:10real 82% 18i+335d 274maxrss 0+8pf 0+141csw



>>> Transmit to FreeBSD from DEC OSF/1 TCP.

ttcp-r: buflen=8192, nbuf=2048, align=16384/0, port=5001, sockbufsize=252144  
tcp
ttcp-r: socket
ttcp-r: rcvbuf
ttcp-r: accept from 1.2.2.2
ttcp-r: 67108864 bytes in 12.57 real seconds = 5214.09 KB/sec +++
ttcp-r: 8195 I/O calls, msec/call = 1.57, calls/sec = 652.00
ttcp-r: 0.1user 5.3sys 0:12real 43% 34i+539d 264maxrss 0+2pf 8+169csw


So on a lowly 486 66dx2, I can use about 50% of the bandwidth of the
FDDI ring.  I can't wait until I get a P90 with a decent cache ...

Oh well, that's about it.  Now to get the EISA version of the driver
working...

Cheers,

Matt Thomas                          Internet:   matt@lkg.dec.com
U*X Networking                       WWW URL:    http://ftp.dec.com/%7Ethomas/
Digital Equipment Corporation        Disclaimer: This message reflects my
Littleton, MA                                    own warped views, etc.




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