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>