vBulletin Search Engine Optimization
| |||||||
| Register | FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
| ||||
| According to a 3.6 dmesg, this motherboard uses: pciide0 at pci0 dev 15 function 0 "VIA VT82C571 IDE" rev 0x06 Upon inspection, apparently the MB also has a VT8235, according to: http://www.biostar-usa.com/mbdetails.asp?model=u8668+d For some reason this hardware wasn't being detected in pciide.c, in the apollo_chip_map() function... which in turn was assigning it as regular DMA, UDMA mode 2. I made the following change to pciide.c: --- pciide.c-orig Thu Apr 14 13:26:57 2005 +++ pciide.c Thu Apr 14 13:20:24 2005 @@ -2500,6 +2500,8 @@ sc->sc_wdcdev.UDMA_cap = 6; break; case PCI_PRODUCT_VIATECH_VT8235_ISA: + /* XXX holy hack batman! */ + case PCI_PRODUCT_VIATECH_VT82C571: printf(": ATA133"); sc->sc_wdcdev.UDMA_cap = 6; break; I have no idea if this is the correct way to go about doing this, but it works great. Here is old bonnie++ output before the fix: ------Sequential Output------ --Sequential Input- --Random- -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks-- Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP 300M 17562 22 15708 10 4893 1 14400 20 14998 2 129.8 0 ------Sequential Create------ --------Random Create-------- -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete-- files /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP 16 16163 26 +++++ +++ 6315 5 16925 25 +++++ +++ 18429 22 Here is bonnie++ output after the fix: ------Sequential Output------ --Sequential Input- --Random- -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks-- Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP 300M 36191 48 31950 32 6924 1 29278 40 30188 4 139.5 0 ------Sequential Create------ --------Random Create-------- -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete-- files /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP 16 21736 37 +++++ +++ 7187 5 21472 33 +++++ +++ 21704 26 As you can see a huge increase. Here is a dmesg from another box with the same exact hardware (without any fixes): OpenBSD 3.6 (KOZORU) #0: Wed Mar 30 17:17:10 CST 2005 root@pandora.kozoru.com:/usr/src/sys/arch/i386/compile/KOZORU cpu0: Intel(R) Celeron(R) CPU 2.40GHz ("GenuineIntel" 686-class) 2.41 GHz cpu0: FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,P GE,MCA,CMOV,PAT,PSE36,CFLUSH,ACPI,MMX,FXSR,SSE,SSE 2,SS,HTT,TM,SBF,PNI,MWAIT,CNXT-ID real mem = 1064939520 (1039980K) avail mem = 965128192 (942508K) using 4278 buffers containing 53350400 bytes (52100K) of memory mainbus0 (root) bios0 at mainbus0: AT/286+(f1) BIOS, date 12/16/04, BIOS32 rev. 0 @ 0xfb350 apm0 at bios0: Power Management spec V1.2 apm0: AC on, battery charge unknown pcibios0 at bios0: rev 2.1 @ 0xf0000/0xdf44 pcibios0: PCI IRQ Routing Table rev 1.0 @ 0xfdec0/128 (6 entries) pcibios0: PCI Exclusive IRQs: 10 11 12 pcibios0: PCI Interrupt Router at 000:17:0 ("VIA VT82C596A ISA" rev 0x00) pcibios0: PCI bus #1 is the last bus bios0: ROM list: 0xc0000/0xa400 0xcc000/0x1800 cpu0 at mainbus0 pci0 at mainbus0 bus 0: configuration mode 1 (no bios) pchb0 at pci0 dev 0 function 0 "VIA VT8751 PCI" rev 0x00 ppb0 at pci0 dev 1 function 0 "VIA VT8633 AGP" rev 0x00 pci1 at ppb0 bus 1 vga1 at pci1 dev 0 function 0 "S3 ProSavage DDR" rev 0x00 wsdisplay0 at vga1: console (80x25, vt100 emulation) wsdisplay0: screen 1-5 added (80x25, vt100 emulation) pciide0 at pci0 dev 15 function 0 "VIA VT82C571 IDE" rev 0x06: DMA, channel 0 configured to compatibility, channel 1 configured to compatibility wd0 at pciide0 channel 0 drive 0: <SAMSUNG SP0802N> wd0: 16-sector PIO, LBA48, 76351MB, 156368016 sectors wd0(pciide0:0:0): using PIO mode 4, DMA mode 2 pciide0: channel 1 disabled (no drives) pcib0 at pci0 dev 17 function 0 "VIA VT8237 ISA" rev 0x00 vr0 at pci0 dev 18 function 0 "VIA RhineII-2" rev 0x78: irq 11 address 00:11:5b:97:41:67 ukphy0 at vr0 phy 1: Generic IEEE 802.3u media interface ukphy0: OUI 0x004063, model 0x0032, rev. 8 isa0 at pcib0 isadma0 at isa0 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 midi0 at pcppi0: <PC speaker> sysbeep0 at pcppi0 it0 at isa0 port 0x290/8: IT87 npx0 at isa0 port 0xf0/16: using exception 16 pccom0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo pccom0: console biomask f7ed netmask ffed ttymask ffef pctr: user-level cycle counter enabled dkcsum: wd0 matched BIOS disk 80 root on wd0a rootdev=0x0 rrootdev=0x300 rawdev=0x302 Any thoughts, feedback, etc is welcome and appriciated... |