Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 25 Sep 2004 18:31:48 +0200
From:      Ulrich Spoerlein <q@uni.de>
To:        current@freebsd.org
Subject:   fwe(4) and polling(4)
Message-ID:  <20040925163148.GA9626@galgenberg.net>

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

--PEIAKu/WMn1b1Hv9
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

Good evening everyone,

ordered a cheap VIA-based Firewire-Card and tried to see if I can speed up
the connection to my server.
There are two machines (obviously)

coyote: Server, P3-500, 5.2.1-RELEASE, NO DEVICE_POLLING
fwohci0: <VIA VT6306> port 0xac00-0xac7f mem 0xe2001000-0xe20017ff irq 9 at=
 device 10.0 on pci0
fwohci0: OHCI version 1.0 (ROM=3D1)
fwohci0: No. of Isochronous channel is 4.
fwohci0: EUI64 20:00:00:00:04:00:52:cf
fwohci0: Phy 1394a available S400, 3 ports.
fwohci0: Link S400, max_rec 2048 bytes.
firewire0: <IEEE1394(FireWire) bus> on fwohci0
sbp0: <SBP-2/SCSI over FireWire> on firewire0
fwe0: <Ethernet over FireWire> on firewire0
if_fwe0: Fake Ethernet address: 22:00:00:00:52:cf
fwohci0: Initiate bus reset
fwohci0: BUS reset
fwohci0: node_id=3D0xc800ffc0, gen=3D1, CYCLEMASTER mode
firewire0: 1 nodes, maxhop <=3D 0, cable IRM =3D 0 (me)
firewire0: bus manager 0 (me)

sharing interrupts with these devices:
pcib0: slot 10 INTA is routed to irq 9
intpm0: <Intel 82371AB Power management controller> port 0x5000-0x500f irq =
9 at device 7.3 on pci0
fwohci0: <VIA VT6306> port 0xac00-0xac7f mem 0xe2001000-0xe20017ff irq 9 at=
 device 10.0 on pci0

roadrunner: Laptop, Dell 8600c, 5.3-BETA5, DEVICE_POLLING and HZ=3D1000 in =
kernel
fwohci0: <1394 Open Host Controller Interface> mem 0xfaff8000-0xfaffbfff,0x=
faffd800-0xfaffdfff irq 11 at device 1.1 on pci2
fwohci0: OHCI version 1.10 (ROM=3D0)
fwohci0: No. of Isochronous channels is 4.
fwohci0: EUI64 35:4f:c0:00:35:67:98:30
fwohci0: Phy 1394a available S400, 2 ports.
fwohci0: Link S400, max_rec 2048 bytes.
firewire0: <IEEE1394(FireWire) bus> on fwohci0
fwe0: <Ethernet over FireWire> on firewire0
if_fwe0: Fake Ethernet address: 36:4f:c0:67:98:30
fwe0: Ethernet address: 36:4f:c0:67:98:30
fwe0: if_start running deferred for Giant
sbp0: <SBP-2/SCSI over FireWire> on firewire0
fwohci0: Initiate bus reset
fwohci0: node_id=3D0x8800ffc0, gen=3D1, non CYCLEMASTER mode
firewire0: 2 nodes, maxhop <=3D 1, cable IRM =3D 1

sharing the interrupt with these:
ACPI link \\_SB_.PCI0.LNKB has invalid initial irq 11, ignoring
acpi_video0: <ACPI video extension> port 0xc000-0xc0ff mem 0xfcff0000-0xfcf=
fffff,0xd0000000-0xdfffffff irq 11 at device 0.0 on pci1
uhci0: <Intel 82801DB (ICH4) USB controller USB-A> port 0xbf80-0xbf9f irq 1=
1 at device 29.0 on pci0
uhci1: <Intel 82801DB (ICH4) USB controller USB-B> port 0xbf40-0xbf5f irq 1=
1 at device 29.1 on pci0
uhci2: <Intel 82801DB (ICH4) USB controller USB-C> port 0xbf20-0xbf3f irq 1=
1 at device 29.2 on pci0
bfe0: <Broadcom BCM4401 Fast Ethernet> mem 0xfaffe000-0xfaffffff irq 11 at =
device 0.0 on pci2
fwohci0: <1394 Open Host Controller Interface> mem 0xfaff8000-0xfaffbfff,0x=
faffd800-0xfaffdfff irq 11 at device 1.1 on pci2

Running an NFS-Transfer between these hosts via xl0<->bfe0 I get roughly
10MB/s and the load on coyote is around 0.3. The interrupt rate on
coyote is around 5000 (xl0, irq 12) and on roadrunner I get up to 7000
(bfe0, irq 11).

Now switching to the Firewire-Connection I get "only" 13MB/s, the load
on coyote is reaching 1.0, the interrupt rate reaches 6000. On
roadrunner the interrupt rate is topping out at 10.500 (ain't that
crazy?)

I then switched on device_polling on roadrunner, because the man-page
claimed it was supported with fwe(4). However I can't see a drop in
interrupt requests and performance stays the same.

So, is fwe(4) lying? Does polling only work, if the device does not
share the interrupt? Should I be able to get more then 13MB/s from this
not-so-old P3-500?

PS: I'm somewhat puzzled by this:
fwohci0: EUI64 20:00:00:00:04:00:52:cf
if_fwe0: Fake Ethernet address: 22:00:00:00:52:cf
and
fwohci0: EUI64 35:4f:c0:00:35:67:98:30
if_fwe0: Fake Ethernet address: 36:4f:c0:67:98:30

Ulrich Spoerlein
--=20
PGP Key ID: F0DB9F44				Get it while it's hot!
PGP Fingerprint: F1CE D062 0CA9 ADE3 349B  2FE8 980A C6B5 F0DB 9F44
"They that can give up essential liberty to obtain a little temporary
safety deserve neither liberty nor safety."	-- Benjamin Franklin

--PEIAKu/WMn1b1Hv9
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.6 (FreeBSD)

iD8DBQFBVZ1zmArGtfDbn0QRAl8wAJ4iNw48TAzQegK7V5URW8im8n7v7ACfWFqn
+9KH84J8k8MK5W3e2YW6iP8=
=3zG4
-----END PGP SIGNATURE-----

--PEIAKu/WMn1b1Hv9--



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