486DLC Tuning

From: Joshua Coombs <jcoombs_at_gwi.net>
Date: Sat, 15 Oct 2005 10:06:22 -0400
I have a 386 with a Cyrix 486DRx2-66 (clock doubled DLC) that I moved 
from 4.11 to 6.0.  So far it's running decently, I've got more net/hd 
throughput than I had before, by a factor of two for net, but the box 
'feels' like I'm not getting the same cpu perf I had before.  Without 
benchmarks, I'm not in the best position to prove it, but I figured 
I'd try some basic tuning to see if I could improve things.

Initially I've been running with the GENERIC kernel under 6.0.  I had 
spent a fair amount of time testing the various CPU and ISA tweaks 
under 4.11 and had established a set that worked reliably and got me a 
little extra umph.  My prior set was:

machine         i386
cpu             I386_CPU
cpu             I486_CPU

options         PQ_CACHESIZE=128
options         CPU_DIRECT_MAPPED_CACHE
options         CPU_I486_ON_386
options         CYRIX_CACHE_WORKS
options         CYRIX_CACHE_REALLY_WORKS

device          isa
options         AUTO_EOI_1
options         AUTO_EOI_2

Checking NOTES, the options haven't changes, so I tweaked the conf, 
built a kernel (48 hours?!  Used to take 10 under 4.11, kernel's 
getting big) and tried it out.  Panics with a kernel trap, either type 
1 or type 9 just before displaying the copyright, but after it's 
switched to bright white text.

I don't have a copy of the trap output, I'll be setting up a serial 
console to capture that shortly.

Eventually I settled on the following setup:

machine         i386
cpu             I486_CPU

options         PQ_CACHESIZE=128
options         CPU_DIRECT_MAPPED_CACHE
options         CPU_I486_ON_386
#options         CYRIX_CACHE_WORKS
options         CYRIX_CACHE_REALLY_WORKS
#options        CPU_UPGRADE_HW_CACHE

device          isa
options         AUTO_EOI_1
options         AUTO_EOI_2

It seems odd that I can have CYRIX_CACHE_REALLY_WORKS but not 
CYRIX_CACHE_WORKS enabled.  I see too possibilities, either
A) You must have CYRIX_CACHE_WORKS enabled for 
CYRIX_CACHE_REALLY_WORKS to actually mean something, in which case 
shouldn't config warn about this?
B) If you have both enabled, CYRIX_CACHE_WORKS overrides 
CYRIX_CACHE_REALLY_WORKS, and something has changed with 6.0 such that 
I can no longer safely use that cache.

Would it be possible to get the kernel to spit out when it is honoring 
any of these types of options, as well as what it things the state of 
the cache, or whatever other cpu aspect is that you're tweaking using 
one of these settings?  Being able to verify what's going on is always 
nice.

Heck, just additional output showing known cache status info along 
with the CPUID would be handy.

Joshua Coombs

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-RC1 #3: Sat Oct 15 00:37:28 EDT 2005
    root_at_tinbox.gwi:/usr/src/sys/i386/compile/I386
Timecounter "i8254" frequency 1193182 Hz quality 0
CPU: Cyrix 486DRx2 (486-class CPU)
  Origin = "CyrixInstead"  DIR=0x2207  Stepping=2  Revision=2
real memory  = 67108864 (64 MB)
avail memory = 60325888 (57 MB)
npx0: [FAST]
npx0: <math processor> on motherboard
npx0: IRQ 13 interface
cpu0 on motherboard
isa0: <ISA bus> on motherboard
pmtimer0 on isa0
orm0: <ISA Option ROMs> at iomem 0xc0000-0xc7fff,0xdc000-0xdffff on 
isa0
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> irq 1 on atkbdc0
kbd0 at atkbd0
atkbd0: [GIANT-LOCKED]
fdc0: <Enhanced floppy controller> at port 0x3f0-0x3f5,0x3f7 irq 6 drq 
2 on isa0
fdc0: [FAST]
fd0: <1440-KB 3.5" drive> on fdc0 drive 0
ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0
ppc0: Generic chipset (NIBBLE-only) in COMPATIBLE mode
ppbus0: <Parallel port bus> on ppc0
lpt0: <Printer> on ppbus0
lpt0: Interrupt-driven port
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 16450
sio1 at port 0x2f8-0x2ff irq 3 on isa0
sio1: type 16450
vga0: <Generic ISA VGA> at port 0x3b0-0x3df iomem 0xa0000-0xbffff on 
isa0
aha1 at port 0x330-0x333 irq 11 drq 5 on isa0
aha1: AHA-1542CF FW Rev. B.0 (ID=45) SCSI Host Adapter, SCSI ID 7, 16 
CCBs
aha1: [GIANT-LOCKED]
ed1: <D-Link DE-220P PnP ISA Card> at port 0x240-0x25f irq 5 on isa0
ed1: Ethernet address: 00:80:c8:da:a6:f0
ed1: type NE2000 (16 bit)
Timecounters tick every 10.000 msec
Waiting 5 seconds for SCSI devices to settle
da0 at aha1 bus 0 target 0 lun 0
da0: <SEAGATE ST15150N 0023> Fixed Direct Access SCSI-2 device
da0: 10.000MB/s transfers (10.000MHz, offset 8)
da0: 4095MB (8388315 512 byte sectors: 64H 32S/T 4095C)
da1 at aha1 bus 0 target 1 lun 0
da1: <SEAGATE SX410800N 7116> Fixed Direct Access SCSI-2 device
da1: 10.000MB/s transfers (10.000MHz, offset 8)
da1: 8347MB (17096357 512 byte sectors: 64H 32S/T 8347C)
da2 at aha1 bus 0 target 2 lun 0
da2: <SEAGATE SX410800N 7117> Fixed Direct Access SCSI-2 device
da2: 10.000MB/s transfers (10.000MHz, offset 8)
da2: 8347MB (17096357 512 byte sectors: 64H 32S/T 8347C)
cd0 at aha1 bus 0 target 6 lun 0
cd0: <SONY CD-ROM CDU-76S 1.1c> Removable CD-ROM SCSI-2 device
cd0: 5.000MB/s transfers (5.000MHz, offset 8)
cd0: Attempt to query device size failed: NOT READY, Logical unit is 
in process of becoming ready
Received on Sat Oct 15 2005 - 12:08:35 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:45 UTC