Hifn driver in SMP (was Re: GELI - disk encryption GEOM class committed.)

Mike Tancsa mike at sentex.net
Tue Aug 9 18:55:32 GMT 2005

At 12:20 AM 09/08/2005, Sam Leffler wrote:

>I much prefer cryptotest for exercising the hardware.  If you increase the 
>number of concurrent threads (-t I think) you can really load the device.

Where can I find a copy of that ?

>I wouldn't be surprised if there were an smp locking bug in the crypto 
>code as I'm not sure it's been well-exercised recently and with more of 
>the kernel coming out from under Giant the locking within the subsystem is 
>getting more testing.

On RELENG_4, on the 4way PIII, It seems to function just fine.  However, 
one thing I have noticed is that it seems to have a lot of noirq errors 
where as I never see those on other boxes.  RELENG_5 and above just lockup 

for i in `jot 40 1`
echo $i
/usr/bin/openssl aes-128-cbc -in big -k pass | ssh -c aes128-cbc 
mdtancsa at "cat - >  /dev/null"

well before 5 iterations.

hippo# hifnstats
input 2998255856 bytes 946932 packets
output 2998243536 bytes 946931 packets
invalid 0 nomem 0 abort 0
noirq 636235 unaligned 0
totbatch 0 maxbatch 0
nomem: map 0 load 0 mbuf 0 mcl 0 cr 0 sd 0

hippo# dmesg
Copyright (c) 1992-2005 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
         The Regents of the University of California. All rights reserved.
FreeBSD 4.11-RELEASE #1: Tue Aug  9 14:25:16 EDT 2005
     mdtancsa at hippo.sentex.ca:/usr/src/sys/compile/hippo
Timecounter "i8254"  frequency 1193182 Hz
CPU: Pentium III/Pentium III Xeon/Celeron (500.02-MHz 686-class CPU)
   Origin = "GenuineIntel"  Id = 0x672  Stepping = 2
real memory  = 2147475456 (2097144K bytes)
config> q
avail memory = 2087866368 (2038932K bytes)
Changing APIC ID for IO APIC #0 from 0 to 4 on chip
Programming 24 pins in IOAPIC #0
IOAPIC #0 intpin 2 -> irq 0
FreeBSD/SMP: Multiprocessor motherboard: 4 CPUs
  cpu0 (BSP): apic id:  3, version: 0x00040011, at 0xfee00000
  cpu1 (AP):  apic id:  0, version: 0x00040011, at 0xfee00000
  cpu2 (AP):  apic id:  1, version: 0x00040011, at 0xfee00000
  cpu3 (AP):  apic id:  2, version: 0x00040011, at 0xfee00000
  io0 (APIC): apic id:  4, version: 0x00170011, at 0xfec00000
Preloaded elf kernel "kernel" at 0xc03c7000.
Preloaded userconfig_script "/boot/kernel.conf" at 0xc03c709c.
Pentium Pro MTRR support enabled
md0: Malloc disk
Using $PIR table, 11 entries at 0xc00fc7a0
npx0: <math processor> on motherboard
npx0: INT 16 interface
pcib0: <Intel 82454NX PXB#0, Bus#A> on motherboard
IOAPIC #0 intpin 14 -> irq 2
IOAPIC #0 intpin 11 -> irq 5
pci0: <PCI bus> on pcib0
isab0: <Intel 82371AB PCI to ISA bridge> at device 2.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <Intel PIIX4 ATA33 controller> at device 2.1 on pci0
atapci0: ATA channel disabled by BIOS
pci0: <Intel 82371AB/EB (PIIX4) USB controller> at 2.2 irq 0
Timecounter "PIIX"  frequency 3579545 Hz
chip0: <Intel 82371AB Power management controller> port 0x850-0x85f at 
device 2.3 on pci0
pci0: <ATI Mach64-GI graphics accelerator> at 4.0
ahc0: <Adaptec 2940 Ultra2 SCSI adapter> port 0xe800-0xe8ff mem 
0xfe94b000-0xfe94bfff irq 2 at device 6.0 on pci0
aic7890/91: Ultra2 Wide Channel A, SCSI Id=7, 32/253 SCBs
hifn0 mem 0xfe940000-0xfe947fff,0xfe948000-0xfe949fff,0xfe94a000-0xfe94afff 
irq 5 at device 8.0 on pci0
hifn0: Hifn 7955, rev 0, 32KB dram
em0: <Intel(R) PRO/1000 Network Connection, Version - 1.7.42> port 
0xe4c0-0xe4ff mem 0xfe900000-0xfe91ffff,0xfe920000-0xfe93ffff ir0
em0:  Speed:N/A  Duplex:N/A
pcib3: <Intel 82454NX PCI Expander Bridge> at device 18.0 on pci0
pcib4: <Intel 82454NX PCI Expander Bridge> at device 19.0 on pci0
pcib5: <Intel 82454NX PCI Expander Bridge> at device 20.0 on pci0
pcib1: <Intel 82454NX PXB#0, Bus#B> on motherboard
IOAPIC #0 intpin 20 -> irq 11
pci1: <PCI bus> on pcib1
ahc1: <Adaptec aic7860 Ultra SCSI adapter> port 0xfc00-0xfcff mem 
0xfeb00000-0xfeb00fff irq 11 at device 8.0 on pci1
aic7860: Ultra Single Channel A, SCSI Id=7, 3/253 SCBs
pcib2: <Intel 82454NX PXB#1, Bus#A> on motherboard
pci2: <PCI bus> on pcib2
orm0: <Option ROMs> at iomem 
0xc0000-0xc7fff,0xd0000-0xd0fff,0xd4000-0xd47ff on isa0
pmtimer0 on isa0
fdc0: <NEC 72065B or clone> at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0
fdc0: FIFO enabled, 8 bytes threshold
fd0: <1440-KB 3.5" drive> on fdc0 drive 0
ata0 at port 0x1f0-0x1f7,0x3f6 irq 14 on isa0
ata1 at port 0x170-0x177,0x376 irq 15 on isa0
atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0
atkbd0: <AT Keyboard> flags 0x1 irq 1 on atkbdc0
kbd0 at atkbd0
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
sio0: type 16550A
sio1 at port 0x2f8-0x2ff irq 3 on isa0
sio1: type 16550A
ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0
ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode
ppc0: FIFO with 16/16/8 bytes threshold
plip0: <PLIP network interface> on ppbus0
lpt0: <Printer> on ppbus0
lpt0: Interrupt-driven port
APIC_IO: Testing 8254 interrupt delivery
APIC_IO: routing 8254 via IOAPIC #0 intpin 2
Waiting 15 seconds for SCSI devices to settle
SMP: AP CPU #1 Launched!
SMP: AP CPU #2 Launched!
SMP: AP CPU #3 Launched!
pass3 at ahc0 bus 0 target 6 lun 0
pass3: <DELL 1x3 U2W SCSI BP 5.39> Fixed Processor SCSI-2 device
pass3: 3.300MB/s transfers
da0 at ahc0 bus 0 target 0 lun 0
da0: <SEAGATE ST318203LC 0001> Fixed Direct Access SCSI-2 device
da0: 80.000MB/s transfers (40.000MHz, offset 15, 16bit), Tagged Queueing 
da0: 17366MB (35566480 512 byte sectors: 255H 63S/T 2213C)
da2 at ahc0 bus 0 target 2 lun 0
da2: <SEAGATE ST318203LC 0001> Fixed Direct Access SCSI-2 device
da2: 80.000MB/s transfers (40.000MHz, offset 15, 16bit), Tagged Queueing 
da2: 17366MB (35566480 512 byte sectors: 255H 63S/T 2213C)
da1 at ahc0 bus 0 target 1 lun 0
da1: <SEAGATE ST318203LC 0001> Fixed Direct Access SCSI-2 device
da1: 80.000MB/s transfers (40.000MHz, offset 15, 16bit), Tagged Queueing 
da1: 17366MB (35566480 512 byte sectors: 255H 63S/T 2213C)
Mounting root from ufs:/dev/da1s1a
cd0 at ahc1 bus 0 target 5 lun 0
cd0: <NEC CD-ROM DRIVE:465 1.25> Removable CD-ROM SCSI-2 device
cd0: 20.000MB/s transfers (20.000MHz, offset 15)
cd0: Attempt to query device size failed: NOT READY, Medium not present
em0: Link is up 1000 Mbps Full Duplex
em0: Link is up 1000 Mbps Full Duplex

More information about the freebsd-current mailing list