GELI - disk encryption GEOM class committed.

Mike Tancsa mike at sentex.net
Sun Aug 7 01:41:57 GMT 2005


At 04:54 PM 28/07/2005, Pawel Jakub Dawidek wrote:

>- Utilize the crypto(9) framework, so when there is a crypto hardware
>   available, geli(8) will make use of it automatically.
>   If cryptography needs to be done in software, a dedicated kernel
>   thread(s) will be started to do the crypto work in there.

Hi,
         I was trying this out on RELENG_6 and it seems to lock up the 
machine solid on my 4way SMP box with a hifn card.  I have in the kernel


options         DDB
options         BREAK_TO_DEBUGGER
options         KDB
options         KDB_UNATTENDED
options         INVARIANTS              # Enable calls of extra sanity checking
options         INVARIANT_SUPPORT       # Extra sanity checks of internal 
structures, required by INVARIANTS
options         WITNESS                 # Enable checks to detect deadlocks 
and cycles
options         WITNESS_SKIPSPIN        # Don't run witness on spinlocks 
for speed


but it locks the box up solid-- cant even break to debugger.  If I take the 
hifn card out of the equation, it seems to work under smp.  If I use the 
hifn card with just a uni proc config, it also works.  I can trigger the 
hang just using bonnie -s 300 -d /mnt


dmesgs below.

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 6.0-BETA2 #4: Sat Aug  6 19:48:39 EDT 2005
     mdtancsa at hippo.sentex.ca:/usr/obj/usr/src/sys/hippo
WARNING: WITNESS option enabled, expect reduced performance.
ACPI APIC Table: <DELL   PE6350  >
Timecounter "i8254" frequency 1193182 Hz quality 0
CPU: Pentium III/Pentium III Xeon/Celeron (500.02-MHz 686-class CPU)
   Origin = "GenuineIntel"  Id = 0x672  Stepping = 2
   Features=0x383fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR,SSE>
real memory  = 2147475456 (2047 MB)
avail memory = 2096689152 (1999 MB)
ioapic0: Changing APIC ID to 4
ioapic0 <Version 1.1> irqs 0-23 on motherboard
npx0: [FAST]
npx0: <math processor> on motherboard
npx0: INT 16 interface
acpi0: <DELL PE6350> on motherboard
acpi0: Power Button (fixed)
pci_link0: <ACPI PCI Link LNK0> on acpi0
pci_link1: <ACPI PCI Link LNK1> on acpi0
pci_link2: <ACPI PCI Link LNK2> irq 10 on acpi0
pci_link3: <ACPI PCI Link LNK3> irq 11 on acpi0
pci_link4: <ACPI PCI Link LNK4> on acpi0
pci_link5: <ACPI PCI Link LNK5> on acpi0
pci_link6: <ACPI PCI Link LNK6> on acpi0
pci_link7: <ACPI PCI Link LNK7> on acpi0
pci_link8: <ACPI PCI Link LNK8> irq 14 on acpi0
pci_link9: <ACPI PCI Link LNK9> on acpi0
Timecounter "ACPI-safe" frequency 3579545 Hz quality 1000
acpi_timer0: <24-bit timer at 3.579545MHz> port 0x808-0x80b on acpi0
cpu0: <ACPI CPU> on acpi0
pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
pci0: <ACPI PCI bus> on pcib0
isab0: <PCI-ISA bridge> at device 2.0 on pci0
isa0: <ISA bus> on isab0
pci0: <mass storage, ATA> at device 2.1 (no driver attached)
pci0: <serial bus, USB> at device 2.2 (no driver attached)
pci0: <bridge> at device 2.3 (no driver attached)
pci0: <display, VGA> at device 4.0 (no driver attached)
pcib1: <ACPI PCI-PCI bridge> at device 8.0 on pci0
pci1: <ACPI PCI bus> on pcib1
amr0: <LSILogic MegaRAID 1.51> mem 0xfe000000-0xfe3fffff irq 14 at device 
8.1 on pci0
amr0: <Series 466> Firmware GH6D, BIOS 1.43, 32MB RAM
pcib2: <ACPI Host-PCI bridge> on acpi0
pci2: <ACPI PCI bus> on pcib2
pcib3: <ACPI Host-PCI bridge> on acpi0
pci3: <ACPI PCI bus> on pcib3
em0: <Intel(R) PRO/1000 Network Connection, Version - 2.1.7> port 
0xfcc0-0xfcff mem 0xfeb20000-0xfeb3ffff,0xfeb00000-0xfeb1ffff irq 19 at 
device 1.0 on pci3
em0: Ethernet address: 00:0e:0c:63:ea:cf
em0:  Speed:N/A  Duplex:N/A
hifn0 mem 0xfeb4a000-0xfeb4afff,0xfeb48000-0xfeb49fff,0xfeb40000-0xfeb47fff 
irq 18 at device 3.0 on pci3
hifn0: Hifn 7955, rev 0, 32KB dram, pll=0x800<pci clk, 4x mult>
fdc0: <floppy drive controller> port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on acpi0
fdc0: [FAST]
fd0: <1440-KB 3.5" drive> on fdc0 drive 0
atkbdc0: <Keyboard controller (i8042)> port 0x60,0x64 irq 1 on acpi0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
kbd0 at atkbd0
atkbd0: [GIANT-LOCKED]
sio0: <16550A-compatible COM port> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0
sio0: type 16550A, console
sio1: <16550A-compatible COM port> port 0x2f8-0x2ff irq 3 on acpi0
sio1: type 16550A
ppc0: <ECP parallel printer port> port 0x378-0x37f,0x778-0x77f irq 7 drq 1 
on acpi0
ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode
ppc0: FIFO with 16/16/8 bytes threshold
ppbus0: <Parallel port bus> on ppc0
plip0: <PLIP network interface> on ppbus0
lpt0: <Printer> on ppbus0
lpt0: Interrupt-driven port
ppi0: <Parallel I/O> on ppbus0
pmtimer0 on isa0
orm0: <ISA Option ROMs> at iomem 0xc0000-0xc7fff,0xc8000-0xc8fff on isa0
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
Timecounter "TSC" frequency 500019306 Hz quality 800
Timecounters tick every 1.000 msec
amrd0: <LSILogic MegaRAID logical drive> on amr0
amrd0: 34732MB (71131136 sectors) RAID 5 (optimal)
ses0 at amr0 bus 0 target 6 lun 0
ses0: <DELL 1x3 U2W SCSI BP 5.12> Fixed Processor SCSI-2 device
ses0: SAF-TE Compliant Device
Trying to mount root from ufs:/dev/amrd0s1a
em0: link state changed to UP
GEOM_ELI: Device amrd0s1e.eli created.
GEOM_ELI:     Cipher: 3DES
GEOM_ELI: Key length: 192
GEOM_ELI:     Crypto: hardware

and

[hippo]# cat /var/run/dmesg.boot
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 6.0-BETA2 #5: Sat Aug  6 21:24:21 EDT 2005
     mdtancsa at hippo.sentex.ca:/usr/obj/usr/src/sys/hippo
WARNING: WITNESS option enabled, expect reduced performance.
Timecounter "i8254" frequency 1193182 Hz quality 0
CPU: Pentium III/Pentium III Xeon/Celeron (500.02-MHz 686-class CPU)
   Origin = "GenuineIntel"  Id = 0x672  Stepping = 2
   Features=0x383fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR,SSE>
real memory  = 2147475456 (2047 MB)
avail memory = 2096541696 (1999 MB)
ACPI APIC Table: <DELL   PE6350  >
FreeBSD/SMP: Multiprocessor System Detected: 4 CPUs
  cpu0 (BSP): APIC ID:  3
  cpu1 (AP): APIC ID:  0
  cpu2 (AP): APIC ID:  1
  cpu3 (AP): APIC ID:  2
ioapic0: Changing APIC ID to 4
ioapic0 <Version 1.1> irqs 0-23 on motherboard
npx0: [FAST]
npx0: <math processor> on motherboard
npx0: INT 16 interface
acpi0: <DELL PE6350> on motherboard
acpi0: Power Button (fixed)
pci_link0: <ACPI PCI Link LNK0> on acpi0
pci_link1: <ACPI PCI Link LNK1> on acpi0
pci_link2: <ACPI PCI Link LNK2> irq 10 on acpi0
pci_link3: <ACPI PCI Link LNK3> irq 11 on acpi0
pci_link4: <ACPI PCI Link LNK4> on acpi0
pci_link5: <ACPI PCI Link LNK5> on acpi0
pci_link6: <ACPI PCI Link LNK6> on acpi0
pci_link7: <ACPI PCI Link LNK7> on acpi0
pci_link8: <ACPI PCI Link LNK8> irq 14 on acpi0
pci_link9: <ACPI PCI Link LNK9> on acpi0
Timecounter "ACPI-safe" frequency 3579545 Hz quality 1000
acpi_timer0: <24-bit timer at 3.579545MHz> port 0x808-0x80b on acpi0
cpu0: <ACPI CPU> on acpi0
cpu1: <ACPI CPU> on acpi0
cpu2: <ACPI CPU> on acpi0
cpu3: <ACPI CPU> on acpi0
pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
pci0: <ACPI PCI bus> on pcib0
isab0: <PCI-ISA bridge> at device 2.0 on pci0
isa0: <ISA bus> on isab0
pci0: <mass storage, ATA> at device 2.1 (no driver attached)
pci0: <serial bus, USB> at device 2.2 (no driver attached)
pci0: <bridge> at device 2.3 (no driver attached)
pci0: <display, VGA> at device 4.0 (no driver attached)
pcib1: <ACPI PCI-PCI bridge> at device 8.0 on pci0
pci1: <ACPI PCI bus> on pcib1
amr0: <LSILogic MegaRAID 1.51> mem 0xfe000000-0xfe3fffff irq 14 at device 
8.1 on pci0
amr0: <Series 466> Firmware GH6D, BIOS 1.43, 32MB RAM
pcib2: <ACPI Host-PCI bridge> on acpi0
pci2: <ACPI PCI bus> on pcib2
pcib3: <ACPI Host-PCI bridge> on acpi0
pci3: <ACPI PCI bus> on pcib3
em0: <Intel(R) PRO/1000 Network Connection, Version - 2.1.7> port 
0xfcc0-0xfcff mem 0xfeb20000-0xfeb3ffff,0xfeb00000-0xfeb1ffff irq 19 at 
device 1.0 on pci3
em0: Ethernet address: 00:0e:0c:63:ea:cf
em0:  Speed:N/A  Duplex:N/A
hifn0 mem 0xfeb4a000-0xfeb4afff,0xfeb48000-0xfeb49fff,0xfeb40000-0xfeb47fff 
irq 18 at device 3.0 on pci3
hifn0: Hifn 7955, rev 0, 32KB dram, pll=0x800<pci clk, 4x mult>
fdc0: <floppy drive controller> port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on acpi0
fdc0: [FAST]
fd0: <1440-KB 3.5" drive> on fdc0 drive 0
atkbdc0: <Keyboard controller (i8042)> port 0x60,0x64 irq 1 on acpi0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
kbd0 at atkbd0
atkbd0: [GIANT-LOCKED]
sio0: <16550A-compatible COM port> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0
sio0: type 16550A, console
sio1: <16550A-compatible COM port> port 0x2f8-0x2ff irq 3 on acpi0
sio1: type 16550A
ppc0: <ECP parallel printer port> port 0x378-0x37f,0x778-0x77f irq 7 drq 1 
on acpi0
ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode
ppc0: FIFO with 16/16/8 bytes threshold
ppbus0: <Parallel port bus> on ppc0
plip0: <PLIP network interface> on ppbus0
lpt0: <Printer> on ppbus0
lpt0: Interrupt-driven port
ppi0: <Parallel I/O> on ppbus0
pmtimer0 on isa0
orm0: <ISA Option ROMs> at iomem 0xc0000-0xc7fff,0xc8000-0xc8fff on isa0
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
Timecounters tick every 1.000 msec
amrd0: <LSILogic MegaRAID logical drive> on amr0
amrd0: 34732MB (71131136 sectors) RAID 5 (optimal)
ses0 at amr0 bus 0 target 6 lun 0
ses0: <DELL 1x3 U2W SCSI BP 5.12> Fixed Processor SCSI-2 device
ses0: SAF-TE Compliant Device
SMP: AP CPU #3 Launched!
SMP: AP CPU #1 Launched!
SMP: AP CPU #2 Launched!
Trying to mount root from ufs:/dev/amrd0s1a
em0: link state changed to UP
[hippo]#
GEOM_ELI: Device amrd0s1e.eli created.
GEOM_ELI:     Cipher: 3DES
GEOM_ELI: Key length: 192
GEOM_ELI:     Crypto: hardware




After starting bonnie, it only takes a few seconds

[hippo]# iostat -c 1000
       tty           amrd0            pass0             cpu
  tin tout  KB/t tps  MB/s   KB/t tps  MB/s  us ni sy in id
    1   49 12.68   3  0.04   0.00   0  0.00   0  0  2  0 97
    0  179  0.00   0  0.00   0.00   0  0.00   0  0  0  0 100
    0   61  0.00   0  0.00   0.00   0  0.00   0  0  0  0 100
    1  127 89.33  21  1.83   0.00   0  0.00   3  0  5  1 91
    0   60 128.00  18  2.24   0.00   0  0.00   1  0  4  1 93
    0   61 100.73  22  2.16   0.00   0  0.00   2  0  5  2 92
    0   61 128.00  17  2.12   0.00   0  0.00   2  0  4  2 93
    0   61 128.00  18  2.24   0.00   0  0.00   2  0  6  1 91
    0   61 128.00  17  2.12   0.00   0  0.00   2  0  3  1 93
    0   61 128.00  18  2.24   0.00   0  0.00   1  0  4  1 93
    0   61 128.00  17  2.12   0.00   0  0.00   1  0  5  1 93
<hang here>



         ---Mike 



More information about the freebsd-current mailing list