List: openbsd-tech Subject: impact of unaligned partitions/slices on 4kB sector drives (wd10ears) From: Robert <robert () openbsd ! pap ! st> Date: 2010-01-06 22:54:34 Message-ID: 20100106235434.55963d32 () openbsd ! pap ! st
> Hello, > > i did some measurements on the impact that unaligned partitions/slices > have on the "new" harddrives that use ondisk 4kB sectors and export > them as 512B sectors. [1] > My tests were done on a Western Digital WD10EARS. [2] > > > CONCLUSION: > Having unaligned partition/slices on those disks leads to noticable > performance penalty under realworld workloads. > > > IMPLICATIONS: > 1. The rounding of unit sizes to cylinder boundaries by disklabel has > to be evaluated. > 2. A FAQ entry for the "advanced format" disks is needed to tell people > to set the XP jumper. (more on that later) > If disklabel is not modified, that entry would also have to explain > the alignement implications and "how to use a calculator". > > > TEST RESULTS: > > - sequential write/read speeds --- > > dd bs | aligned | unaligned | wd10eads* > | | | > 4k write | 97433116 | 86349673 | 80762241 (bytes/sec) > 64k w | 101273894 | 85616298 | 81234814 > 1m w | 98291974 | 79201231 | 83113302 > | | | > 4k read | 103706513 | 104434701 | 82723667 > 64k r | 105136468 | 104453140 | 85552816 > 1m r | 104228605 | 104921901 | 85650289 > > (* wd10eads is the previous generation to the wd10ears with 32mb > cache and usual 512B ondisk sectors. Disk is in a different system! > That system is not idle so actual numbers might be higher.) > > > - extracting a source tree --- > > aligned : 6m26.31s > unaligned : 14m30.30s > > > - build kernel / make obj / make build --- > > | aligned | unaligned > kernel | 2m27.94s | 2m48.12s > make obj | 0m28.51s | 1m01.41s > make build | 36m07.27s | 70m51.58s > > > > > EXPLANAITIONS (or whatever :): > > Those numbers are kinda scary. > I would not have expected such bad results for the builds from my > earlier sequential rw tests i sent to misc@. > > (Just to make it clear, if the partition/slices are not aligned, > the disk has to read every 4k sector it wants to write to, before it > can actually do that. The 64MB of cache help to elevate that up to > some point.) > > This drive has a "XP legacy jumper". (Same as WD15EARS and WD20EARS.) > It is intended to be used for Windows XP systems with a single partition > over the whole drive. > XP uses the same 63 sector offset as OpenBSD does. > Setting this jumper, transparently alignes the 63 sectors infront of a > 4k sector boundary. > When that jumper is set, slices inside the partition only have to be > multiples of 8 big. > The issue is with disklables rounding down to the nearest cylinder > boundary. > This will mess up the nice multiplication by 1024, which would lead to > a size divisable by 8. > The rounding down is always done when using units, but not when > requesting a size without a unit/in sectors. > So slices can be aligned that way "by hand". > That rounding to cylinders is not needed, afaik. > So without that, a simple "rtfaq! set the damn jumper!" would be > enough, to get the best performance out of such harddisks. > > > Below you can find more info about my test setup and the test outputs. > > > Cheers, > > - Robert > > > > [1] http://www.wdc.com/advformat > [2] http://www.wdc.com/en/products/products.asp?driveidv3 > > > > TESTS: > > "aligned" == XP jumper set > "unaligned" == XP jumper NOT set* > (* without the jumper, > the partition/slices are off by one 512B sector.) > > > I installed a snapshot i had on hand (see dmesg) and went from there. > (Fresh installl without the jumper.) > Source-tree used is -current from some hours ago. > I sync'ed before every test. > disk layout and ramdisk was the same in both scenarios. > > > - dmesg --- > OpenBSD 4.6-current (GENERIC.MP) #40: Tue Dec 29 01:02:20 MST 2009 > dera...@amd64.openbsd.org:/usr/src/sys/arch/amd64/compile/GENERIC.MP > real mem = 3488088064 (3326MB) > avail mem = 3388391424 (3231MB) > mainbus0 at root > bios0 at mainbus0: SMBIOS rev. 2.5 @ 0xf0730 (61 entries) > bios0: vendor American Megatrends Inc. version "1104" date 09/11/2009 > bios0: ASUSTeK Computer INC. P5QL-E > acpi0 at bios0: rev 2 > acpi0: tables DSDT FACP APIC MCFG OEMB HPET OSFR > acpi0: wakeup devices P0P2(S4) P0P3(S4) P0P1(S4) UAR1(S4) PS2K(S4) PS2M(S4) > EUSB(S4) \ > USBE(S4) P0P5(S4) P0P6(S4) P0P7(S4) P0P8(S4) P0P9(S4) GBEC(S4) USB0(S4) > USB1(S4) \ > use" rev 1.10/21.00 addr 2 > uhidev1: iclass 3/1 > ukbd0 at uhidev1: 8 modifier keys, 6 key codes > wskbd1 at ukbd0 mux 1 > wskbd1: connecting to wsdisplay0 > vscsi0 at root > scsibus4 at vscsi0: 256 targets > softraid0 at root > root on sd0a swap on sd0b dump on sd0b > > (( fwiw, jacob: that azalia is just disabled. > the iic0 should be an asus ai booster. > still have to modify the live driver for that soundblaster 5.1 vx. )) > > > - fdisk --- > Disk: sd0 geometry: 121601/255/63 [1953525168 Sectors] > Offset: 0 Signature: 0xAA55 > Starting Ending LBA Info: > #: id C H S - C H S [ start: size ] > ------------------------------------------------------------------------------- > 0: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused > 1: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused > 2: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused > *3: A6 0 1 1 - 121600 254 63 [ 63: 1953520002 ] OpenBSD > > > - disklabel --- > # /dev/rsd0c: > type: SCSI > disk: SCSI disk > label: WDC WD10EARS-00Y > flags: > bytes/sector: 512 > sectors/track: 63 > tracks/cylinder: 255 > sectors/cylinder: 16065 > cylinders: 121601 > total sectors: 1953525168 > rpm: 3600 > interleave: 1 > boundstart: 63 > boundend: 1953520065 > drivedata: 0 > > 16 partitions: > # size offset fstype [fsize bsize cpg] > a: 20000000 63 4.2BSD 2048 16384 1 # / > b: 2000000 20000063 swap > c: 1953525168 0 unused > d: 20000000 22000063 4.2BSD 2048 16384 1 # /usr > e: 20000000 42000063 4.2BSD 2048 16384 1 # /usr/obj > f: 20000000 62000063 4.2BSD 2048 16384 1 # /usr/src > > > - ramdisk --- > # fgrep ramdisk /etc/fstab > swap /ramdisk mfs rw,nodev,nosuid,-s 00000 0 0 > > > > ### aligned partition/slices ### > > - sequential write/read --- > # dd if=/dev/zero of=/tmp/testfile.4k bs=4k countR4288 > 524288+0 records in > 524288+0 records out > 2147483648 bytes transferred in 22.040 secs (97433116 bytes/sec) > # dd if=/dev/zero of=/tmp/testfile.64k bsdk count2768 > 32768+0 records in > 32768+0 records out > 2147483648 bytes transferred in 21.204 secs (101273894 bytes/sec) > # dd if=/dev/zero of=/tmp/testfile.1m bs=1m count 48 > 2048+0 records in > 2048+0 records out > 2147483648 bytes transferred in 21.848 secs (98291974 bytes/sec) > # dd of=/dev/null if=/tmp/testfile.4k bs=4k countR4288 > 524288+0 records in > 524288+0 records out > 2147483648 bytes transferred in 20.707 secs (103706513 bytes/sec) > # dd of=/dev/null if=/tmp/testfile.64k bsdk count2768 > 32768+0 records in > 32768+0 records out > 2147483648 bytes transferred in 20.425 secs (105136468 bytes/sec) > # dd of=/dev/null if=/tmp/testfile.1m bs=1m count 48 > 2048+0 records in > 2048+0 records out > 2147483648 bytes transferred in 20.603 secs (104228605 bytes/sec) > > - extract source tarball --- > # ls -l /ramdisk > total 298752 > -rw-r--r-- 1 root wheel 152866732 Jan 6 19:19 src.tgz > # cd /usr/src > # time tar xzf /ramdisk/src.tgz > 6m26.31s real 0m3.72s user 0m7.49s system > > - build kernel / make obj / make build --- > # cd /usr/src/sys/arch/amd64/compile/GENERIC.MP > # time ( make depend && make ) > [ ... ] > 2m27.94s real 2m1.78s user 0m23.48s system > > # cd /usr/src && time make obj > [ ... ] > 0m28.51s real 0m2.41s user 0m5.43s system > > # cd /usr/src && time make build > [ ... ] > 36m7.27s real 19m31.87s user 7m31.80s system > > > > ### unaligned partition/slices (no jumper) ### > > - sequential write/read --- > # dd if=/dev/zero of=/tmp/testfile.4k bs=4k countR4288 > 524288+0 records in > 524288+0 records out > 2147483648 bytes transferred in 24.869 secs (86349673 bytes/sec) > # dd if=/dev/zero of=/tmp/testfile.64k bsdk count2768 > 32768+0 records in > 32768+0 records out > 2147483648 bytes transferred in 25.082 secs (85616298 bytes/sec) > # dd if=/dev/zero of=/tmp/testfile.1m bs=1m count 48 > 2048+0 records in > 2048+0 records out > 2147483648 bytes transferred in 27.114 secs (79201231 bytes/sec) > # dd of=/dev/null if=/tmp/testfile.4k bs=4k countR4288 > 524288+0 records in > 524288+0 records out > 2147483648 bytes transferred in 20.562 secs (104434701 bytes/sec) > # dd of=/dev/null if=/tmp/testfile.64k bsdk count2768 > 32768+0 records in > 32768+0 records out > 2147483648 bytes transferred in 20.559 secs (104453140 bytes/sec) > # dd of=/dev/null if=/tmp/testfile.1m bs=1m count 48 > 2048+0 records in > 2048+0 records out > 2147483648 bytes transferred in 20.467 secs (104921901 bytes/sec) > > - extract source tarball --- > # ls -l /ramdisk > total 298752 > -rw-r--r-- 1 root wheel 152866732 Jan 6 21:12 src.tgz > # cd /usr/src > # time tar xzf /ramdisk/src.tgz > 14m30.30s real 0m4.15s user 0m6.15s system > > - build kernel / make obj / make build --- > # time ( make depend && make ) > [ ... ] > 2m48.12s real 2m1.03s user 0m24.14s system > > # cd /usr/src && time make obj > [ ... ] > 1m1.41s real 0m2.14s user 0m5.99s system > > # cd /usr/src && time make build > [ ... ] > 70m51.58s real 19m31.95s user 7m27.84s system > > > ### wd10eads (just for comparison) ### > > - sequential write/read --- > # dd if=/dev/zero of=/wd10eads/testfile.4k bs=4k countR4288 > 524288+0 records in > 524288+0 records out > 2147483648 bytes transferred in 26.590 secs (80762241 bytes/sec) > # dd if=/dev/zero of=/wd10eads/testfile.64k bsdk count2768 > 32768+0 records in > 32768+0 records out > 2147483648 bytes transferred in 26.435 secs (81234814 bytes/sec) > # dd if=/dev/zero of=/wd10eads/testfile.1m bs=1m count 48 > 2048+0 records in > 2048+0 records out > 2147483648 bytes transferred in 25.838 secs (83113302 bytes/sec) > # dd of=/dev/null if=/wd10eads/testfile.4k bs=4k countR4288 > 524288+0 records in > 524288+0 records out > 2147483648 bytes transferred in 25.959 secs (82723667 bytes/sec) > # dd of=/dev/null if=/wd10eads/testfile.64k bsdk count2768 > 32768+0 records in > 32768+0 records out > 2147483648 bytes transferred in 25.101 secs (85552816 bytes/sec) > # dd of=/dev/null if=/wd10eads/testfile.1m bs=1m count 48 > 2048+0 records in > 2048+0 records out > 2147483648 bytes transferred in 25.072 secs (85650289 bytes/sec) > > - extract source tarball --- > # cd /wd10eads/ > # time tar xzf /ramdisk/src.tgz > 1m33.80s real 0m8.01s user 0m12.15s system > > (( If you read this far, have a cookie > and wonder with me about that quick extraction... > The system this drive is in has the same board, > but everything else is slower and not idle when meassured...)) I'm starting to get angry about the _horrible_ performance on this drive (WD10EARS-00Y), some developer ever got a chance to see something about this? The original message is at: http://marc.info/?l=openbsd-tech&m=126281899324219&w=2 (I wasn't subscribed to this list back then) Thanks. OpenBSD 4.9-current (kobj) #0: Sun May 1 14:32:33 CDT 2011 root@maetel.00z:/usr/kobj real mem = 1608056832 (1533MB) avail mem = 1551196160 (1479MB) mainbus0 at root bios0 at mainbus0: SMBIOS rev. 2.6 @ 0xfd400 (50 entries) bios0: vendor American Megatrends Inc. version "V1.3" date 11/15/2010 bios0: MSI MS-7623 acpi0 at bios0: rev 0 acpi0: sleep states S0 S3 S4 S5 acpi0: tables DSDT FACP APIC MCFG OEMB SRAT HPET SSDT acpi0: wakeup devices PCE2(S4) PCE3(S4) PCE4(S4) PCE5(S4) PCE6(S4) PCE7(S4) PCE9(S4) PCEA(S4) PCEB(S4) PCEC(S4) SBAZ(S4) PSKE(S4) PSMS(S4) ECIR(S4) PS2K(S3) PS2M(S3) P0PC(S4) UHC1(S4) UHC2(S4) UHC3(S4) USB4(S4) UHC5(S4) UHC6(S4) UHC7(S4) PWRB(S3) acpitimer0 at acpi0: 3579545 Hz, 32 bits acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat cpu0 at mainbus0: apid 0 (boot processor) cpu0: AMD Phenom(tm) II X4 955 Processor, 3200.77 MHz cpu0: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,HTT,SSE3,MWAIT,CX16,POPCNT,NXE,MMXX,FFXSR,LONG,3DNOW2,3DNOW cpu0: 64KB 64b/line 2-way I-cache, 64KB 64b/line 2-way D-cache, 512KB 64b/line 16-way L2 cache cpu0: ITLB 32 4KB entries fully associative, 16 4MB entries fully associative cpu0: DTLB 48 4KB entries fully associative, 48 4MB entries fully associative cpu0: apic clock running at 200MHz cpu1 at mainbus0: apid 1 (application processor) cpu1: AMD Phenom(tm) II X4 955 Processor, 3200.16 MHz cpu1: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,HTT,SSE3,MWAIT,CX16,POPCNT,NXE,MMXX,FFXSR,LONG,3DNOW2,3DNOW cpu1: 64KB 64b/line 2-way I-cache, 64KB 64b/line 2-way D-cache, 512KB 64b/line 16-way L2 cache cpu1: ITLB 32 4KB entries fully associative, 16 4MB entries fully associative cpu1: DTLB 48 4KB entries fully associative, 48 4MB entries fully associative cpu2 at mainbus0: apid 2 (application processor) cpu2: AMD Phenom(tm) II X4 955 Processor, 3200.15 MHz cpu2: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,HTT,SSE3,MWAIT,CX16,POPCNT,NXE,MMXX,FFXSR,LONG,3DNOW2,3DNOW cpu2: 64KB 64b/line 2-way I-cache, 64KB 64b/line 2-way D-cache, 512KB 64b/line 16-way L2 cache cpu2: ITLB 32 4KB entries fully associative, 16 4MB entries fully associative cpu2: DTLB 48 4KB entries fully associative, 48 4MB entries fully associative cpu3 at mainbus0: apid 3 (application processor) cpu3: AMD Phenom(tm) II X4 955 Processor, 3200.16 MHz cpu3: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,HTT,SSE3,MWAIT,CX16,POPCNT,NXE,MMXX,FFXSR,LONG,3DNOW2,3DNOW cpu3: 64KB 64b/line 2-way I-cache, 64KB 64b/line 2-way D-cache, 512KB 64b/line 16-way L2 cache cpu3: ITLB 32 4KB entries fully associative, 16 4MB entries fully associative cpu3: DTLB 48 4KB entries fully associative, 48 4MB entries fully associative ioapic0 at mainbus0: apid 4 pa 0xfec00000, version 21, 24 pins acpimcfg0 at acpi0 addr 0xe0000000, bus 0-255 acpihpet0 at acpi0: 14318180 Hz acpiprt0 at acpi0: bus 0 (PCI0) acpiprt1 at acpi0: bus 1 (P0P1) acpiprt2 at acpi0: bus -1 (PCE2) acpiprt3 at acpi0: bus -1 (PCE3) acpiprt4 at acpi0: bus -1 (PCE4) acpiprt5 at acpi0: bus 2 (PCE5) acpiprt6 at acpi0: bus -1 (PCE6) acpiprt7 at acpi0: bus -1 (PCE7) acpiprt8 at acpi0: bus -1 (PCE9) acpiprt9 at acpi0: bus -1 (PCEA) acpiprt10 at acpi0: bus -1 (PCEB) acpiprt11 at acpi0: bus -1 (PCEC) acpiprt12 at acpi0: bus 3 (P0PC) acpicpu0 at acpi0: PSS acpicpu1 at acpi0: PSS acpicpu2 at acpi0: PSS acpicpu3 at acpi0: PSS acpibtn0 at acpi0: PWRB pci0 at mainbus0 bus 0 pchb0 at pci0 dev 0 function 0 "AMD RS780 Host" rev 0x00 ppb0 at pci0 dev 1 function 0 "AMD RS780 PCIE" rev 0x00 pci1 at ppb0 bus 1 vga1 at pci1 dev 5 function 0 vendor "ATI", unknown product 0x9616 rev 0x00 wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation) wsdisplay0: screen 1-5 added (80x25, vt100 emulation) ppb1 at pci0 dev 5 function 0 "AMD RS780 PCIE" rev 0x00: apic 4 int 17 pci2 at ppb1 bus 2 alc0 at pci2 dev 0 function 0 "Attansic Technology L1C" rev 0xc0: apic 4 int 17, address 6c:62:6d:de:03:76 atphy0 at alc0 phy 0: F1 10/100/1000 PHY, rev. 11 ahci0 at pci0 dev 17 function 0 "ATI SBx00 SATA" rev 0x00: apic 4 int 22, AHCI 1.1 scsibus0 at ahci0: 32 targets sd0 at scsibus0 targ 0 lun 0: <ATA, WDC WD5000AAJS-2, 01.0> SCSI3 0/direct fixed naa.50014ee10176d64c sd0: 476940MB, 512 bytes/sec, 976773168 sec total sd1 at scsibus0 targ 1 lun 0: <ATA, WDC WD10EARS-00Y, 80.0> SCSI3 0/direct fixed naa.50014ee05735bde1 sd1: 953869MB, 512 bytes/sec, 1953525168 sec total ohci0 at pci0 dev 18 function 0 "ATI SB700 USB" rev 0x00: apic 4 int 16, version 1.0, legacy support ohci1 at pci0 dev 18 function 1 "ATI SB700 USB" rev 0x00: apic 4 int 16, version 1.0, legacy support ehci0 at pci0 dev 18 function 2 "ATI SB700 USB2" rev 0x00: apic 4 int 17 usb0 at ehci0: USB revision 2.0 uhub0 at usb0 "ATI EHCI root hub" rev 2.00/1.00 addr 1 ohci2 at pci0 dev 19 function 0 "ATI SB700 USB" rev 0x00: apic 4 int 18, version 1.0, legacy support ohci3 at pci0 dev 19 function 1 "ATI SB700 USB" rev 0x00: apic 4 int 18, version 1.0, legacy support ehci1 at pci0 dev 19 function 2 "ATI SB700 USB2" rev 0x00: apic 4 int 19 usb1 at ehci1: USB revision 2.0 uhub1 at usb1 "ATI EHCI root hub" rev 2.00/1.00 addr 1 piixpm0 at pci0 dev 20 function 0 "ATI SBx00 SMBus" rev 0x3c: SMI iic0 at piixpm0 spdmem0 at iic0 addr 0x50: 2GB DDR3 SDRAM PC3-10600 pciide0 at pci0 dev 20 function 1 "ATI SB700 IDE" rev 0x00: DMA, channel 0 configured to compatibility, channel 1 configured to compatibility atapiscsi0 at pciide0 channel 0 drive 1 scsibus1 at atapiscsi0: 2 targets cd0 at scsibus1 targ 0 lun 0: <PIONEER, DVD-RW DVR-116D, 1.08> ATAPI 5/cdrom removable cd0(pciide0:0:1): using PIO mode 4, DMA mode 2, Ultra-DMA mode 4 azalia0 at pci0 dev 20 function 2 "ATI SBx00 HD Audio" rev 0x00: apic 4 int 16 azalia0: codecs: VIA/0x0397 audio0 at azalia0 pcib0 at pci0 dev 20 function 3 "ATI SB700 ISA" rev 0x00 ppb2 at pci0 dev 20 function 4 "ATI SB600 PCI" rev 0x00 pci3 at ppb2 bus 3 re0 at pci3 dev 2 function 0 "Realtek 8169" rev 0x10: RTL8169/8110SB (0x1000), apic 4 int 20, address 00:08:54:a6:be:f6 rgephy0 at re0 phy 7: RTL8169S/8110S PHY, rev. 3 ohci4 at pci0 dev 20 function 5 "ATI SB700 USB" rev 0x00: apic 4 int 18, version 1.0, legacy support pchb1 at pci0 dev 24 function 0 "AMD AMD64 10h HyperTransport" rev 0x00 pchb2 at pci0 dev 24 function 1 "AMD AMD64 10h Address Map" rev 0x00 pchb3 at pci0 dev 24 function 2 "AMD AMD64 10h DRAM Cfg" rev 0x00 km0 at pci0 dev 24 function 3 "AMD AMD64 10h Misc Cfg" rev 0x00 pchb4 at pci0 dev 24 function 4 "AMD AMD64 10h Link Cfg" rev 0x00 usb2 at ohci0: USB revision 1.0 uhub2 at usb2 "ATI OHCI root hub" rev 1.00/1.00 addr 1 usb3 at ohci1: USB revision 1.0 uhub3 at usb3 "ATI OHCI root hub" rev 1.00/1.00 addr 1 usb4 at ohci2: USB revision 1.0 uhub4 at usb4 "ATI OHCI root hub" rev 1.00/1.00 addr 1 usb5 at ohci3: USB revision 1.0 uhub5 at usb5 "ATI OHCI root hub" rev 1.00/1.00 addr 1 isa0 at pcib0 isadma0 at isa0 com0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo com0: probed fifo depth: 15 bytes com1 at isa0 port 0x2f8/8 irq 3: ns16550a, 16 byte fifo com1: probed fifo depth: 15 bytes pckbc0 at isa0 port 0x60/5 pckbd0 at pckbc0 (kbd slot) pckbc0: using irq 1 for kbd slot wskbd0 at pckbd0: console keyboard, using wsdisplay0 pcppi0 at isa0 port 0x61 spkr0 at pcppi0 lpt0 at isa0 port 0x378/4 irq 7 usb6 at ohci4: USB revision 1.0 uhub6 at usb6 "ATI OHCI root hub" rev 1.00/1.00 addr 1 mtrr: Pentium Pro MTRR support uhidev0 at uhub3 port 2 configuration 1 interface 0 "Logitech Logitech USB Keyboard" rev 2.00/60.00 addr 2 uhidev0: iclass 3/1 ukbd0 at uhidev0: 8 modifier keys, 6 key codes wskbd1 at ukbd0 mux 1 wskbd1: connecting to wsdisplay0 uhidev1 at uhub3 port 2 configuration 1 interface 1 "Logitech Logitech USB Keyboard" rev 2.00/60.00 addr 2 uhidev1: iclass 3/0, 4 report ids uhid0 at uhidev1 reportid 3: input=4, output=0, feature=0 uhid1 at uhidev1 reportid 4: input=1, output=0, feature=0 uhidev2 at uhub3 port 3 configuration 1 interface 0 "Microsoft Basic Optical Mouse" rev 1.10/0.00 addr 3 uhidev2: iclass 3/1 ums0 at uhidev2: 3 buttons, Z dir wsmouse0 at ums0 mux 0 vscsi0 at root scsibus2 at vscsi0: 256 targets softraid0 at root root on sd0a swap on sd0b dump on sd0b alc0: watchdog timeout alc0: watchdog timeout alc0: watchdog timeout alc0: watchdog timeout alc0: watchdog timeout