fwe(4) and polling(4)

Ulrich Spoerlein q at uni.de
Sat Sep 25 09:31:51 PDT 2004


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=1)
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=0xc800ffc0, gen=1, CYCLEMASTER mode
firewire0: 1 nodes, maxhop <= 0, cable IRM = 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=1000 in kernel
fwohci0: <1394 Open Host Controller Interface> mem 0xfaff8000-0xfaffbfff,0xfaffd800-0xfaffdfff irq 11 at device 1.1 on pci2
fwohci0: OHCI version 1.10 (ROM=0)
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=0x8800ffc0, gen=1, non CYCLEMASTER mode
firewire0: 2 nodes, maxhop <= 1, cable IRM = 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-0xfcffffff,0xd0000000-0xdfffffff irq 11 at device 0.0 on pci1
uhci0: <Intel 82801DB (ICH4) USB controller USB-A> port 0xbf80-0xbf9f irq 11 at device 29.0 on pci0
uhci1: <Intel 82801DB (ICH4) USB controller USB-B> port 0xbf40-0xbf5f irq 11 at device 29.1 on pci0
uhci2: <Intel 82801DB (ICH4) USB controller USB-C> port 0xbf20-0xbf3f irq 11 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,0xfaffd800-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
-- 
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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-current/attachments/20040925/12255110/attachment.bin


More information about the freebsd-current mailing list