On 2009-06-29 22:08:00, Dale Rahn <dr...@dalerahn.com> wrote:
> On Mon, Jun 29, 2009 at 03:46:35PM -0400, Brad wrote:
> > The following diff adds a workaround for an issue with the VIA VT6202
> > EHCI controller hogging the PCI bus and causing poor performance for
> > IDE and possibly other devices in the system.
> > 
> > Please test if your system has a VIA VT6202 EHCI controller and
> > provide a dmesg. If the workaround is being applied for the
> > chipset you have then a message will be printed (this is temporary
> > only to verify it is being applied for the appropriate revision
> > of the chipset).
> > 
> > 
> > >From Linux
> > 
> > 
> 
> I tried out this patch, and found that the appropriate revision chip
> is found in the thecus 2100 system (armish port). Initial testing showed
> no performance difference. 
> 
> However, I looked at the diff more closely and found that it was wrong,
> the original linux code would read/write one byte, however the OpenBSD
> interface does word (32bit) reads and writes, howeve this register is
> then misaligned.
> 
> After changing the code to do 32 bit accesses and to set the correct bit
> in the little endian 32 bit register, the system saw a signficant performance
> difference. dd if=/dev/zero of=file bs=1m saw a 10% speedup, and ftp
> a file from the local network saw a 7% speedup.
> 
> Arm has a smaller cache that other systems, so may be affected by a
> busy memory bus more than other platforms.
> 

I didn't see any change in running "dd if=/dev/zero of=file bs=1m" before
or after the patch on an i386 system so your suspicions may be correct.

No regresions or negative behavior seen yet.


OpenBSD 4.6-beta (SHOSHONI) #24: Tue Jun 30 06:08:30 PDT 2009
    r...@shoshoni.shoshoni.info:/usr/src/sys/arch/i386/compile/SHOSHONI
cpu0: AMD Athlon(tm) Processor ("AuthenticAMD" 686-class, 256KB L2 cache) 1.01 
GHz
cpu0: 
FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR
real mem  = 804786176 (767MB)
avail mem = 768831488 (733MB)
mainbus0 at root
bios0 at mainbus0: AT/286+ BIOS, date 04/23/02, BIOS32 rev. 0 @ 0xf0f80, SMBIOS 
rev. 2.3 @ 0xf2940 (49 entries)
bios0: vendor Award Software, Inc. version "ASUS A7V ACPI BIOS Revision 1011" 
date 04/23/2002
bios0: ASUSTeK Computer INC. <A7V>
apm0 at bios0: Power Management spec V1.2
apm0: AC on, battery charge unknown
acpi at bios0 function 0x0 not configured
pcibios0 at bios0: rev 2.1 @ 0xf0000/0x1802
pcibios0: PCI IRQ Routing Table rev 1.0 @ 0xf1750/176 (9 entries)
pcibios0: PCI Interrupt Router at 000:04:0 ("VIA VT82C686 ISA" rev 0x00)
pcibios0: PCI bus #1 is the last bus
bios0: ROM list: 0xc0000/0xf400 0xd0000/0x4000!
cpu0 at mainbus0: (uniprocessor)
pci0 at mainbus0 bus 0: configuration mode 1 (bios)
pchb0 at pci0 dev 0 function 0 "VIA VT8363 Host" rev 0x02
viaagp0 at pchb0: v2
agp0 at viaagp0: aperture at 0xe0000000, size 0x10000000
ppb0 at pci0 dev 1 function 0 "VIA VT8363 AGP" rev 0x00
pci1 at ppb0 bus 1
vga1 at pci1 dev 0 function 0 "ATI Radeon X1300/X1550" rev 0x00
wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation)
wsdisplay0: screen 1-5 added (80x25, vt100 emulation)
radeondrm0 at vga1: irq 11
drm0 at radeondrm0
"ATI Radeon X1300/X1550 Sec" rev 0x00 at pci1 dev 0 function 1 not configured
pcib0 at pci0 dev 4 function 0 "VIA VT82C686 ISA" rev 0x22
pciide0 at pci0 dev 4 function 1 "VIA VT82C571 IDE" rev 0x10: ATA66, channel 0 
configured to compatibility, channel 1 configured to compatibility
wd0 at pciide0 channel 0 drive 0: <ST3500641A>
wd0: 16-sector PIO, LBA48, 476940MB, 976773168 sectors
wd1 at pciide0 channel 0 drive 1: <Maxtor 6B200P0>
wd1: 16-sector PIO, LBA48, 194481MB, 398297088 sectors
wd0(pciide0:0:0): using PIO mode 4, Ultra-DMA mode 4
wd1(pciide0:0:1): using PIO mode 4, Ultra-DMA mode 4
atapiscsi0 at pciide0 channel 1 drive 0
scsibus0 at atapiscsi0: 2 targets
cd0 at scsibus0 targ 0 lun 0: <PLEXTOR, DVDR PX-708A, 1.03> ATAPI 5/cdrom 
removable
atapiscsi1 at pciide0 channel 1 drive 1
scsibus1 at atapiscsi1: 2 targets
cd1 at scsibus1 targ 0 lun 0: <ASUS, DVD-ROM E608, 1.40> ATAPI 5/cdrom removable
cd0(pciide0:1:0): using PIO mode 4, Ultra-DMA mode 2
cd1(pciide0:1:1): using PIO mode 4, Ultra-DMA mode 2
uhci0 at pci0 dev 4 function 2 "VIA VT83C572 USB" rev 0x10: irq 9
uhci1 at pci0 dev 4 function 3 "VIA VT83C572 USB" rev 0x10: irq 9
viaenv0 at pci0 dev 4 function 4 "VIA VT82C686 SMBus" rev 0x30: HWM disabled: 
24-bit timer at 3579545Hz
rl0 at pci0 dev 9 function 0 "Accton MPX 5030/5038" rev 0x10: irq 9, address 
00:e0:29:6b:73:e3
rlphy0 at rl0 phy 0: RTL internal PHY
emu0 at pci0 dev 10 function 0 "Creative Labs SoundBlaster Live" rev 0x07: irq 5
ac97: codec id 0x54524123 (TriTech Microelectronics TR28602)
audio0 at emu0
"Creative Labs PCI Gameport Joystick" rev 0x07 at pci0 dev 10 function 1 not 
configured
re0 at pci0 dev 11 function 0 "Realtek 8169" rev 0x10: RTL8169S (0x0400), irq 
10, address 00:e0:4c:77:5a:88
rgephy0 at re0 phy 7: RTL8169S/8110S PHY, rev. 0
sili0 at pci0 dev 12 function 0 "CMD Technology SiI3124 SATA" rev 0x02: irq 11
scsibus2 at sili0: 4 targets
sd0 at scsibus2 targ 3 lun 0: <ATA, WDC WD7500AAKS-0, 30.0> SCSI3 0/direct fixed
sd0: 715404MB, 512 bytes/sec, 1465149168 sec total
uhci2 at pci0 dev 13 function 0 "VIA VT83C572 USB" rev 0x61: irq 9
uhci3 at pci0 dev 13 function 1 "VIA VT83C572 USB" rev 0x61: irq 11
ehci0 at pci0 dev 13 function 2 "VIA VT6202 USB" rev 0x63, applying VIA VT6202 
workaround: irq 10
usb0 at ehci0: USB revision 2.0
uhub0 at usb0 "VIA EHCI root hub" rev 2.00/1.00 addr 1
pciide1 at pci0 dev 17 function 0 "Promise PDC20265" rev 0x02: DMA, channel 0 
configured to native-PCI, channel 1 configured to native-PCI
pciide1: using irq 10 for native-PCI interrupt
pciide1: channel 0 disabled (no drives)
pciide1: channel 1 disabled (no drives)
isa0 at pcib0
isadma0 at isa0
com0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo
com1 at isa0 port 0x2f8/8 irq 3: ns16550a, 16 byte fifo
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
pms0 at pckbc0 (aux slot)
pckbc0: using irq 12 for aux slot
wsmouse0 at pms0 mux 0
pcppi0 at isa0 port 0x61
midi0 at pcppi0: <PC speaker>
spkr0 at pcppi0
lpt0 at isa0 port 0x378/4 irq 7
npx0 at isa0 port 0xf0/16: reported by CPUID; using exception 16
fdc0 at isa0 port 0x3f0/6 irq 6 drq 2
fd0 at fdc0 drive 0: 1.44MB 80 cyl, 2 head, 18 sec
fd1 at fdc0 drive 1: 1.2MB 80 cyl, 2 head, 15 sec
usb1 at uhci0: USB revision 1.0
uhub1 at usb1 "VIA UHCI root hub" rev 1.00/1.00 addr 1
usb2 at uhci1: USB revision 1.0
uhub2 at usb2 "VIA UHCI root hub" rev 1.00/1.00 addr 1
usb3 at uhci2: USB revision 1.0
uhub3 at usb3 "VIA UHCI root hub" rev 1.00/1.00 addr 1
usb4 at uhci3: USB revision 1.0
uhub4 at usb4 "VIA UHCI root hub" rev 1.00/1.00 addr 1
biomask ef45 netmask ef45 ttymask ffdf
mtrr: Pentium Pro MTRR support
uhub5 at uhub2 port 2 "ALCOR Generic USB Hub" rev 1.10/1.00 addr 2
ugen0 at uhub1 port 1 "American Power Conversion Back-UPS BR  800 FW:9.o2 .D 
USB FW:o2" rev 1.10/1.06 addr 2
uhidev0 at uhub1 port 2 configuration 1 interface 0 "Logitech USB-PS/2 Mouse" 
rev 1.00/1.20 addr 3
uhidev0: iclass 3/1
ums0 at uhidev0: 3 buttons
wsmouse1 at ums0 mux 0
softraid0 at root
root on wd0a swap on wd0b dump on wd0b

Reply via email to